首页 / JAVA / java集合基础篇 简单总结
java集合基础篇 简单总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java集合基础篇 简单总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2201字,纯文字阅读大概需要4分钟。
内容图文
![java集合基础篇 简单总结](/upload/InfoBanner/zyjiaocheng/1316/134d4710c2394d7f9af6bb6fa112843f.jpg)
昨天晚上看了编程思想4的持有对象,所以把学到看到的一些记记背背的方面给总结一下。
java的容器主要分为两类,一个是实现了接口Collection的一类,还有一个是实现了Map接口的一类。
继承Collction接口的主要有List、Set接口还有Queue。Collection继承了Iterator接口,让实现类可以foreach遍历。
继承List接口的主要是ArrayList和LinkedList。
ArrayList的优势在于随机访问,LinkedList的优势则是更好的插入删除,另外LinkedList还实现了Queue接口,这让LinkedList可以当成一个队列的数据结构使用
List的方法(参数不写):
1、contains() 用来确认List中是不是有某个对象 (还有containsAll() 方法)
2、 add() 添加一个对象 (还有addAll() 方法)
3、 get() 根据传入的位置获取一个对象
4、remove() 用来移除List中某个对象 (还有removeAll() 方法)
5、indexOf() 返回某个对象在List中的位置
6、subList() 截取List集合中的一部分并返回
7、sort() 对List集合进行排序
8、retainAll() 计算和传入的Collection集合的交集,返回boolean,交集结果保存在List中
9 、set() 修改List集合中某个位置上的对象
10、isEmpty() 判断List集合是不是空
11、clear() 清空List集合
12、 toArray() 根据传入参数生成一个指定类型的数组,不传参默认是Object类型数组
13、 size() 计算List集合的长度
注 :以上需要比较的操作,对于传入的对象,都是使用传入的对象参数的equals方法和集合中的对象比较
ListIterator
Iterator遍历一个集合,只能向前遍历( hasNext(), next() ),而ListIterator可以具备双向索引,不过ListIterator只能作用于List
LinkedList实现了List的接口,同时又实现了Queue接口
1、getFirst() element() 两者都是返回列表中的第一个元素,如果是空,抛出异常 NoSuchElementException
2、peek() 返回列表中的第一个元素,如果是空,返回null
3、removeFirst() 删除列表中的第一个元素,如果是空,抛出异常 NoSuchElementException (空参的remove()方法同样)
4、poll() 删除列表中的第一个元素,如果是空,返回null
5、add() addFirst() addLast() 向列表头(尾)添加元素
6、offer() offerFirst() offerLast() 向列表头(尾)添加元素
offer和add的区别在于操作一个有容量限制的队列,前者失败后返回一个false,后者抛出一个异常
除了队列之外,LinkedList同样可以作为Stack栈来使用 (这里的Stack指的是数据结构,不是java中的Stack类,LinkedList和Stack没有继承关系)
7、push() 向顶部添加一个对象
8、pop() 移除一个顶部对象并返回这个对象
不同于List集合,Set集合不同存放重复的元素,Set的接口和Collection接口字段方法一样,Set集合的实现主要有HashSet、TreeSet、LinkedHashSet。HashSet使用的是散列、TreeSet使用的是红黑树的数据结构,LinkedHashSet也用散列,还用链表保持位置顺序。因此这三种结构的区别就是HashSet拥有最快的查询速度,有时有序,但不保证一直有序。TreeSet始终处于排序的状态。LinkedHashSet保持元素的插入顺序同时也具有快速的访问能力。
Collection集合系列还有一个Queue,Queue除了LinkedList的实现之外,还具有一个PriorityQueue的实现。PriorityQueue队列中可以根据一个弹出队列优先顺序的规则来弹出元素。这个规则需要自己定义,方法是比如PriorityQueue集合中存的是Student类, 定义Student类的时候去实现一个Compareble接口,在一个int类型返回值Object参数的compareTo方法中去自定义规则,把传入的Object参数(先转型成Student)和当前Student类的某个字段比较,返回-1说明比当前Student后弹出,返回1先弹出(还有一个0自己体会)
Map接口实现和Set相似,三个实现类HashMap、TreeMap、LinkedHashMap,功能特点也和Set相似。Map和Collection是平行关系,也并没有继承Iterator接口,不过Map可以通过keySet()方法将键转化成Set遍历,或者通过EntrySet()转化成Entry的Set对象遍历
原文:https://www.cnblogs.com/shaozm/p/8625530.html
内容总结
以上是互联网集市为您收集整理的java集合基础篇 简单总结全部内容,希望文章能够帮你解决java集合基础篇 简单总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。