编程语言
首页 > 编程语言> > Java SE - 集合

Java SE - 集合

作者:互联网

Java 的集合体系

 Java集合可分为两大体系:Collection 和 Map

1.常见的Java集合如下

 

 

 

 

 

 

 

 

Collection接口:单列数据,定义了存取一组对象的方法的集合

Map接口:双列数据,保存具有映射关系“key-value对”的集合,根据元素的key访问value

 

2.集合中线程安全的集合和线程不安全的集合

线程安全的:

线性不安全的:

3. Arraylist与 LinkedList 异同点?

4. ArrayList 与 Vector 区别?

5. Collection子接口:Set 接口

 

6. Map接口

 

 

 7. Map实现类之一:HashMap

8. HashMap 的 底层数据结构是什么?

在JDK1.7 和JDK1.8 中有所差别:

在JDK1.7 中,由“数组+链表”组成,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的。

在JDK1.8 中,由“数组+链表+红黑树”组成。当链表过长,则会严重影响 HashMap 的性能,红黑树搜索时间复杂度是 O(logn),而链表是糟糕的 O(n)。因此,JDK1.8 对数据结构做了进一步的优化,引入了红黑树,链表和红黑树在达到一定条件会进行转换:

 

 

 

9. 解决hash冲突的办法有哪些?HashMap用的哪种?

解决Hash冲突方法有:开放定址法、再哈希法、链地址法(拉链法)、建立公共溢出区。HashMap中采用的是 链地址法 。

Collections工具类

 

标签:Set,Java,HashMap,元素,List,链表,集合,SE
来源: https://www.cnblogs.com/dev-yuxi/p/16550258.html