LinkedHashSet:链表和哈希表组成 。 由链表 保证元素的排序 , 由哈希表证元素的唯一性
TreeSet(有序,唯一):红黑树(自平衡的排序 二叉树。)
Map的实现类
1)HashMap: 底层是哈希表数据结构,是线程不同步的 。可以存储null键,null值。
2)TreeMap:二叉树结构;
Map接口: Map一次存一对元素,一个是键,一个是值,键与值之间
有对应(映射)关系; Map是双列集合。
集合中Collection 的子接口:
1)List接口: 有序可以重复(元素存入集合的顺序和取出的顺序
一致);
2)Set接口: 无无序不可以重复(存入和取出顺序有可能不一致);
3)Queue接口:一个队列就是一个先入先出(FIFO) 的
– (1)不需要排序时就选择HashMap , – (2)需要排序时选择TreeMap; – (3)保证线程安全就ConcurrentHashMap.
• 只有存放一个对象时: • (1)保证元素唯一时选择实现Set接口的集合比如
TreeSet或HashSet, • (2) 查询快的用ArrayList; • (3)增删快的就用LinkedList;
List的实现类:
1)ArrayList:底层数组结构,线程不同步,查询速 度非常快; 2)Vector:底层也是数组结构,线程同步的,
Vector无论查询和增删都巨慢。 3)LinkedList:底层双向链表结构,线程不同步, 增删元素快;
Set的实现类:
HashSet(无序,唯一):哈希表或者叫散列集 (hash table)
谢谢观赏
红黑二叉树
红黑二叉树
HashMap存值图
ArrayList存值图