集合简单总结

Collection集合/接口
List集合/接口
特点:有序且可重复
ArrayList:
LinkedList:
Vector:JDK1.0就有了
Stack:

Set集合/接口
特点:无序不可重复
    HashSet:
    LinkedHashSet:有序的
    TreeSet:

Map集合/接口
特点:
键值对 Key-Value
保证key的唯一性
HashMap:
HashTable:
ConcurrenHashMap:
LinkedHashMap:
TreeMap:

注意:
Collection集合 和 Map集合的区别?
Collection集合存储的是单一对象
Map集合存储的是键值对(Key-Value)

对于无序的理解:
    无序不代表随机,无序是指存入顺序与取出顺序不一致
泛型:
    是一种数据安全的做法,规定了集合应该存储什么样的数据类型
    
集合的应用场景:
    ArrayList:存储数据,线程不安全
    LinkedList:存储数据,队列模式和栈模式
    Vector:存储数据,线程安全的       
    Stack(继承Vector):栈模式
    HashSet:存储数据,去重
    LinkedHashSet:存储数据,去重,有序的
    TreeSet:存储数据,自然排序
    
    HashMap:存储数据-键值对形式,key可以去重,可以存null键null值,线程不安全
    Hashtable:存储数据-键值对形式,key可以去重,不可以存null键null值,线程安全
    ConcurrentHashMap:存储数据-键值对形式,key可以去重,不可以存null键null值,线程安全,分段式加锁,效率更快
    LinkedHashMap:存储数据-键值对形式,key可以去重,可以存null键null值,线程不安全,有序的
    TreeMap:存储数据-键值对形式,针对于key排序
    
排序接口:
    Comparable
    Comparator
排序优先级别:Comparator > Comparable

线程安全的:Vector ,Hashtable ,ConcurrentHashMap,
有序的且可重复:ArrayList,Vector,LinkedList,Stack
无序的且不可重复:HashSet,LinkedHashSet(有序不可重复),TreeSet
去重:HashMap,Hashtable,ConcurrentHashMpa,LinkedHashMap,HashSet,LinkHashSet
TreeMap和TreeSet的去重是由comparable 里的接口 compareto方法 决定的
可以存在null键和null值的:HashMap,LinkedHashMap

猜你喜欢

转载自www.cnblogs.com/cqzy/p/11272560.html