您的位置:首页 > 编程语言 > Java开发

Java容器总结 干货

2016-01-28 16:48 288 查看
Collection 一个独立元素的序列。

1.泛型作用有不会将错误类型放到容器中。取出元素时也不必强制转型。

List 必须按照插入的顺序保存元素。

建立数字索引与对象关联。

ArrayList 随机访问元素。中间插入和移除元素较慢。

LinkedList 实现了接口List和Queue。通过较低的代价在List中间进行移除和插入操作。

各种Queue及Stack的行为可由LinkedList提供支持。

总结:如果需要进行大量的随机访问用ArrayList,经常要在表中插入和删除操作用LinkedList

Set 不能有重复的元素

HashSet 常用 最快的获取元素方式。

TreeSet 比较结果的升序来存储元素。

LinkedHashSet 按照添加的顺序来保存元素

Map 一组成组的键值对

Queue 只允许在容器的一端插入对象,并从另一端移除对象。

常用方法:

Collections.addAll();

Arrays.asList() 来初始化容器。

Collection<Integer> ci = newArrayList<Integer>(Arrays.asList(1,2,3,4));

Collections.addAll(ci,7,8,9);//自动包装

Contains()

removeAll()

retainAll() 方法行为都依赖equals()方法。

迭代器:只能向前移动

Iterator<Integer> it = ci.iterator();

while(it.hasNext()){

int i =it.next();//自动拆包

System.out.println(i);

}

ListItrerator: 1.可以双向移动。

2. 光标位置 始终位于调用 previous() 所返回的元素和调用next() 所返回的元素之间

Stack 后进先出的容器。 “后进先出的容器”

1.linkedList具有实现栈的所有功能的方法可以直接将linkedList作为栈使用

2.直接用Stack类

Queue 队列是先进先出的容器linkedList提供的方法以支持队列的行为。并实现了Queue的接口。通过将LinkedList向上转型为Queue

PriorityQueue默认的排序使用队列,也可以自己提供一个comparator来修改这个顺序。

ForEach 该接口引入新的Iterable的接口。只要是实现了Iterable的类都可以用于foreach语句中。

不推荐用过时的Vector,Hashtable,Stack

参考资料:Java编程思想第四版
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: