Java集合面试题(java集合)

大家好,我是小房,我来为大家解答以上问题。Java集合面试题,java集合很多人还不知道,现在让我们一起来看看吧!
1、总的说来,Java API中所用的集合类,都是实现了Collection接口,他的一个类继承结构如下: Collection<--List<--Vector Collection<--List<--ArrayList Collection<--List<--LinkedList Collection<--Set<--HashSet Collection<--Set<--HashSet<--LinkedHashSet Collection<--Set<--SortedSet<--TreeSet Vector : 基于Array的List,其实就是封装了Array所不具备的一些功能方便我们使用,它不可能走入Array的限制。
2、性能也就不可能超越Array。
3、所以,在可能的情况下,我们要多运用Array。
4、另外很重要的一点就是Vector“sychronized”的,这个也是Vector和ArrayList的唯一的区别。
5、 ArrayList:同Vector一样是一个基于Array上的链表,但是不同的是ArrayList不是同步的。
6、所以在性能上要比Vector优越一些,但是当运行到多线程环境中时,可需要自己在管理线程的同步问题。
7、 LinkedList:LinkedList不同于前面两种List,它不是基于Array的,所以不受Array性能的限制。
8、它每一个节点(Node)都包含两方面的内容:1.节点本身的数据(data);2.下一个节点的信息(nextNode)。
9、所以当对LinkedList做添加,删除动作的时候就不用像基于Array的List一样,必须进行大量的数据移动。
10、只要更改nextNode的相关信息就可以实现了。
11、这就是LinkedList的优势。
12、 List总结: 1. 所有的List中只能容纳单个不同类型的对象组成的表,而不是Key-Value键值对。
13、例如:[ tom,1,c ]; 2. 所有的List中可以有相同的元素,例如Vector中可以有 [ tom,koo,too,koo ]; 3. 所有的List中可以有null元素,例如[ tom,null,1 ]; 4. 基于Array的List(Vector,ArrayList)适合查询,而LinkedList(链表)适合添加,删除操作。
14、 HashSet:虽然Set同List都实现了Collection接口,但是他们的实现方式却大不一样。
15、List基本上都是以Array为基础。
16、但是Set则是在HashMap的基础上来实现的,这个就是Set和List的根本区别。
17、HashSet的存储方式是把HashMap中的Key作为Set的对应存储项。
18、看看HashSet的add(Object obj)方法的实现就可以一目了然了。
19、 public boolean add(Object obj) { return map.put(obj, PRESENT) == null; } 这个也是为什么在Set中不能像在List中一样有重复的项的根本原因,因为HashMap的key是不能有重复的。
20、 LinkedHashSet:HashSet的一个子类,一个链表。
21、 TreeSet:SortedSet的子类,它不同于HashSet的根本就是TreeSet是有序的。
22、它是通过SortedMap来实现的。
23、 Set总结: 1. Set实现的基础是Map(HashMap); 2. Set中的元素是不能重复的,如果使用add(Object obj)方法添加已经存在的对象,则会覆盖前面的对象;。
本文到此讲解完毕了,希望对大家有帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
【盘点关于创新的四字词语】在当今快速发展的社会中,创新已成为推动进步的重要动力。无论是企业、科研机构还...浏览全文>>
-
【盘点关于除夕的古诗词】除夕,作为中国农历年的最后一天,承载着丰富的文化内涵和情感寄托。自古以来,文人...浏览全文>>
-
【盘点公寓房和商品房的区别】在购房过程中,很多人会对“公寓房”和“商品房”这两个概念感到困惑。其实,这...浏览全文>>
-
【盘点跟兔子有关的网名】在如今的网络世界中,越来越多的人喜欢用一些可爱、有趣的网名来表达自己的个性或兴...浏览全文>>
-
【盘点跟手有关的成语】在汉语中,许多成语都与“手”这个字密切相关,它们不仅生动形象地描绘了人的动作或状...浏览全文>>
-
【盘点高中开学必备物品清单】随着新学期的临近,很多高中生和家长都在为开学做准备。为了帮助大家更高效地整...浏览全文>>
-
【盘点高考注意事项】高考是每个学生人生中的一次重要考试,关系到未来的发展方向。为了帮助考生在考试中发挥...浏览全文>>
-
【盘点高层顶楼最贵的原因】在房地产市场中,高层住宅的顶楼往往价格较高,许多购房者对此感到疑惑:为什么顶...浏览全文>>
-
【盘点非洲人与动物的纪录片】非洲,这片充满神秘与生机的土地,不仅是人类文明的摇篮,也是无数野生动物的家...浏览全文>>
-
【排骨炖玉米煮多少时间】在日常生活中,排骨炖玉米是一道非常受欢迎的家常菜,既营养丰富又味道鲜美。很多人...浏览全文>>
