JAVA容器小结1

来源:互联网 发布:软件测试报告缺陷总结 编辑:程序博客网 时间:2024/06/04 18:35

对Java中一些不太常用的方法和相关知识点简要介绍

1.添加一组元素

Arrays.asList() 参数:数组或元素列表
Collections.addAll() 参数:Collection对象,数组, 元素列表

2. 一些不常用方法

  • subList() : 求一个list的子集合
  • containsAll() : 一个集合是否包括另一个集合的所有元素
  • retain() : 求2个集合的交集,剔除非交集内的元素

3. 迭代器Iterator(也作为一种设计器模式)

统一了对容器的访问方式,在Collection中提供了iterator()接口产生迭代器:有方法 hasNext() next() remove()子类ListIterator可作双向移动

4. LinkedList可作为对栈、队列或双端队列的实现

  • 获取:
getFirst() / element() :列表空,抛NoSuchElementExceptionpeek() : 列表空,返回null
  • 移除:
removeFirst() / remove :  列表空,抛NoSuchElementExceptionpoll() : 列表空,返回null

5. set集合较常用于测试元素归属性,contains()

    不能存放重复元素,放入元素必须重写equals()和hashcode()方法

6. map 对象与对象的映射

  • 键的set:keySet() 从接口中看出Key不能重复
  • 值的Collection:values() 值可以重复

7. Collection与Iterator

  • Collection:描述所有序列容器的共性的根接口,实现时必须强制实现iterator()和size()
  • Iterator:为解决对容器的统一遍历,实现:index, hasNext(), next(), remove();实现它对序列的约束相对较少

8. Foreach与Iterator

  • foreach:适用于:1)数组;2)Collection对象;3)实现了Iterable的类
  • Iterator:Java SE5引入了包含一个能产生迭代器Iterator的iterator()方法,在Java SE5中大量的类都实现了Iterable,包括Collection不包括Map

9. 适配器方法:当有一个接口而且需要另一个接口时,可添加一个生成此接口的方法(适配一个接口出来)

10. Arrays.asList():使用底层的数组作为物理实现,不想修改原始数组,就在另一个容器中创建一个副本

总结JAVA中持有对象的方式:

  • 数组:数字与对象关联;类型明确;可多维;可保存基本类型;定长
  • Collection:单一元素;Map:相关联键值对。结合泛型不必类型转换;动长;不持基本类型但有自动包装机制解决
  • List:同数组,数字与对象关联。ArrayList:随机访问;
  • LinkedList:长于插入/删除, 对Queue和Stack提供实现
  • Map:HashMap:快速访问;TreeMap:键有序;
  • LinkedHashMap:插入有序,快速访问
  • Set:元素唯一。 HashSet:快速访问;TreeSet:元素有序;LinkedHashSet:以插入顺序保存

简单类图结构
常用容器类图体系

0 0
原创粉丝点击