标签:tle 迭代 string hid 构造 定义 适用于 1.0 image
Java集合框架图
Java集合简化图
在Java集合中的工具包中(Arrays,Collections)如上图所示,添加一组元素可以采用:
默认打印使用容器的toString方法。Collection打印结果为[ , , , , , ];Map打印结果为{ key1=value,key2=value, }
ArraList 、vectory和 LinkedList都继承List与Collection接口。
ArrayList:擅长随机访问,但是在List的中间插入和移除元素比较慢。
LinkedList:擅长顺序访问,在List中间进行插入和删除操作代价较低。但在随机访问方面相对较慢。
Set保存不重复的元素。查找时Set中最重要的操作。HashSet对快速查找做了优化。
Map中的keySet()方法用于返回map中的所有键组成的Set。(通常用于遍历map集合)
队列是一个先进先出的容器。LinkedList提供了方法支持队列的行为,并且它实现了Queue接口。
Queue<Integer> queue = new LinkedList<Integer>();
queue.offer() //讲一个元素插入队尾,或则返回false
//在不移除的情况下返回队头
queue.peek(); //队列为空时返回null
queue.element(); //队列为空时抛出NoSuchElementException异常
//将元素移除并返回队头
queue.poll(); //队列为空时返回null
queue.remove(); //队列为空时抛出NoSuchElementException异常
优先级队列声明下一个弹出元素是最需要的元素(优先级最高)
PriortyQueue<Integer> pq = new PriortyQueue<Integer>();
在PriortyQueue队列上使用offer()方法来插入对象时,这个对象会在队列中被排序。默认的排序将使用对象在队列中的自然顺序,但可以通过Comparator来修该这个顺序。PriortyQueue还可以保证当你调用peek()、poll()、和remove()方法时,获取的元素是队列中优先级最高的。
栈:指后进先出的容器。LinkedList具有能够实现栈的所有功能的方法,因此可以直接将LinkedList作为栈使用。
迭代器是一个对象,它的工作是遍历并选择序列中的对象。创建它的代价小,适用于Set及List集合(foreach语法也适用collection)。Java中的迭代器(Iterator)只能单向移动,且只能用来:
List<String> list = new ArrayList<String>();
Iterator<String> it = list.iterator();
while(it.hasNext()){
String s =it.next();
System.out.println("s :"+s);
}
ListIterator是Iterator的子类型,只能用于各种List类的访问。
特点:
List<String> list = new ArrayList<String>();
Iterator<String> it = list.ListIterator();
while(it.hasNext()){
String s =it.next();
System.out.println("s :"+s);
it.set("用于替换");
}
标签:tle 迭代 string hid 构造 定义 适用于 1.0 image
原文地址:http://www.cnblogs.com/0427mybirthday/p/7514181.html