先写写目录
了解更多JAVA后台知识整理:JAVA后台系列目录
本文为转载整理
文章出处:https://thinkwon.blog.csdn.net/article/details/98844796
Collection集合主要有List和Set两大接口
List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
Set:无序(存入和取出顺序有可能不一致),不可以存储重复元素。必须保证元素唯一性。
List
主要实现:ArrayList, LinkedList, Vector
常规的方法增、删、改、查、判断
对于集合如果想正确的循环遍历删除(增加)元素,需要用迭代器遍历删除(增加)的方法。
ArrayList
源码解析地址:https://thinkwon.blog.csdn.net/article/details/98845119
LinkedList
源码解析地址:https://thinkwon.blog.csdn.net/article/details/102573923
Vector
Set
Set集合元素无序(存入和取出的顺序不一定一致),并且没有重复对象。
Set的主要实现类:HashSet, TreeSet。
hashSet是先通过hashCode判断值是否相同,相同情况,然后通过equals判断是否真的相同,相同则不进行加入
HashSet
TreeSet
Map
常用实现类:HashMap、TreeMap、HashTable、LinkedHashMap、ConcurrentHashMap
HashTable:线程安全但是效率低,因此引入ConcurrentHashMap,主要还是分段式锁的问题
LinkedHashMap:使用双向链表来维护元素的顺序,顺序为插入顺序或者最近最少使用(LRU)顺序。
HashMap
源码解析文章:https://thinkwon.blog.csdn.net/article/details/98845487
TreeMap
源码解析地址:https://thinkwon.blog.csdn.net/article/details/102571883
LinkedHashMap
源码解析地址:https://thinkwon.blog.csdn.net/article/details/102573923
Collections
Collections:集合工具类,方便对集合的操作。这个类不需要创建对象,内部提供的都是静态方法。
Arrays
用于操作数组对象的工具类,里面都是静态方法。数组 -> 集合:asList方法,将数组转换成list集合。
asList转换得到的ArrayList不是java.util.ArrayList,因此不存在add等方法的
了解更多JAVA后台知识整理:JAVA后台系列目录