@@ -84,7 +84,7 @@ Hashtable和HashMap有几个主要的不同:线程安全以及速度。仅在
8484
8585一般我们需要对一个集合使用自定义排序时,我们就要重写compareTo方法或compare方法,当我们需要对某一个集合实现两种排序方式,比如一个song对象中的歌名和歌手名分别采用一种排序方法的话,我们可以重写compareTo方法和使用自制的Comparator方法或者以两个Comparator来实现歌名排序和歌星名排序,第二种代表我们只能使用两个参数版的Collections.sort().
8686
87- ### <font face =" 楷体 " >Comparator定制排序<font face = " 楷体 " >
87+ ### <font face =" 楷体 " >Comparator定制排序</ font >
8888``` java
8989import java.util.ArrayList ;
9090import java.util.Collections ;
@@ -223,7 +223,7 @@ class Person implements Comparable<Person> {
223223## <font face =" 楷体 " >如何对Object的list排序</font >
224224- 对objects数组进行排序,我们可以用Arrays.sort()方法
225225- 对objects的集合进行排序,需要使用Collections.sort()方法
226-
226+
227227
228228## <font face =" 楷体 " >如何实现数组与List的相互转换</font >
229229List转数组:toArray(arraylist.size()方法;数组转List: Arrays 的asList(a)方法
@@ -315,7 +315,7 @@ public class MethodDemo {
315315
316316## <font face =" 楷体 " >集合框架底层数据结构总结</font >
317317### - Collection
318-
318+
319319#### 1. List
320320 - Arraylist:数组(查询快,增删慢 线程不安全,效率高 )
321321 - Vector:数组(查询快,增删慢 线程安全,效率低 )
@@ -331,7 +331,7 @@ public class MethodDemo {
331331 - LinkedHashMap: HashMap 的基础上加上了链表数据结构
332332 - HashTable:哈希表
333333 - TreeMap:红黑树(自平衡的排序二叉树)
334-
334+
335335
336336## <font face =" 楷体 " >集合的选用</font >
337337主要根据集合的特点来选用,比如我们需要根据键值获取到元素值时就选用Map接口下的集合,需要排序时选择TreeMap,不需要排序时就选择HashMap,需要保证线程安全就选用ConcurrentHashMap.当我们只需要存放元素值时,就选择实现Collection接口的集合,需要保证元素唯一时选择实现Set接口的集合比如TreeSet或HashSet,不需要就选择实现List接口的比如ArrayList或LinkedList,然后再根据实现这些接口的集合的特点来选用。
@@ -347,6 +347,6 @@ public class MethodDemo {
347347《Head first java 》第二版 推荐阅读真心不错 (适合基础较差的)
348348
349349 《Java核心技术卷1》推荐阅读真心不错 (适合基础较好的)
350-
350+
351351 《算法》第四版 (适合想对数据结构的Java实现感兴趣的)
352-
352+
0 commit comments