首页 / JAVA / Java常用集合知识点总结
Java常用集合知识点总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java常用集合知识点总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2089字,纯文字阅读大概需要3分钟。
内容图文
![Java常用集合知识点总结](/upload/InfoBanner/zyjiaocheng/847/f9ca53fe4acb4daabbeddc157001f950.jpg)
Java集合学习总结
首先,区分最顶层接口的区别:Collection和Map的区别:前者是单个元素;后者存储的是一对元素。Collection有List和Set两个子接口,两个子接口下分别有Vector和ArrayList以及HashSet和TreeSet等实现类;Map有HashMap、TreeMap、HashTable三种实现类。现分别总结它们的区别。
List、Map、Set存储元素时的特点
首先,List和Set具有相似性,它们都是单列元素集合,所以都有一个公共的父接口(Collection),Set里面不允许有重复元素,重复与否用equals()方法判断;Set取元素时,没法说取第几个,只能以Iterator接口取得所有元素在进行遍历。
List表示有先后顺序的集合,当我们每次调用add()方法时要按先后顺序排序,当然也可以指定当前对象在集合中的存放位置(调用add(int index,Obj e));一个对象可以反复存储进List中。
Map与List和Set不同,它是双列集合,其中有put方法,每次存储时要存储一对key/value,不能存储重复的key,取则根据key获得相应的value。
ArrayList和Vector的区别
这两个类都实现了List接口,它们都是有序集合,即存储这两个集合中的元素位置都是有顺序的,相当于动态数组,可以按位置索引取出某个元素并且其中的数据是重复的。
区别主要包括两个方面:
a.同步性:Vector是线性安全的,也就是说它的方法之间是线程同步的,而ArrayList是线程不安全的。所以当只有一个线程会访问到集合时最好使用ArrayList,它不考虑线程安全效率会高些;反之亦然。
b.数据增长:ArrayList与Vector都是有一个初始的容量大小,当存储进它们里面的元素的个数超出容量时就需要加存储空间,Vector默认增长为原来的两倍,而ArrayList没有明确规定。
HashSet和TreeSet的区别
HashSet中元素是无序的,元素不可重复,可以有null值;TeeSet元素以一定的顺序排列,但是不能保证是和元素add进去的顺序一样,同时,TreeSet不可重复,不可有null值。
HashMap和HashTable以及TreeMap的区别
首先,三者均是实现Map接口的实现类,所以,在存储数据方面均是以一组数据的形式储存,每个数据包含Key和Value值。首先,要明确的是,在Map下面的实现类都是通过key值来映射对应的value值的,所以Key值都是唯一的。三者的主要区别主要表现在能否加null值,是否支持数据同步,值得储存是否有序。
在HashMap中,key和value都可以是null,value值允许重复,不支持数据同步,即允许多线程操作数据
在HashTable中,key和value均不能是null值,同时HashTable支持数据同步,线性安全。
TreeMap插入的元素是有序的,key值不允许为空,value允许为空值
内容总结
以上是互联网集市为您收集整理的Java常用集合知识点总结全部内容,希望文章能够帮你解决Java常用集合知识点总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。