集合(Collection)与迭代器(Iterator)
来源:互联网 发布:培训班软件 编辑:程序博客网 时间:2024/06/05 14:27
这个大家都应该是不陌生了,我本来想介绍一下,不过,我想了一下,我说的,绝对没有《Think In Java》说的好,所以我就引用下面的话,然后,我举例测试,并附代码于后。
测试用例:
- import java.util.ArrayList;
- import java.util.Collection;
- import java.util.HashMap;
- import java.util.Hashtable;
- import java.util.Iterator;
- import java.util.LinkedList;
- import java.util.TreeMap;
- import java.util.Vector;
- public class TestColleaction {
- public TestColleaction() {
- // TODO Auto-generated constructor stub
- }
- /////////////////List类/////////////////
- void testArrayList()
- {
- ArrayList al=new ArrayList();
- al.add(1);
- al.add(2);
- al.add(3);
- Iterator it=al.iterator();//用迭代器将其迭代化,将其序列化为一个序列,
- //这样就可以遍历整个序列而不必关心底层结构
- System.out.println(al.size());
- System.out.println(it.toString());
- while(it.hasNext())
- {
- System.out.println(it.next());
- }
- }
- /**
- * Vector是同步、线程安全的,所以如果需要的是速度,并且不在多线程环境中使中,最好选ArrayList
- * ArrayList是非同步,当然也不是线程安全的
- * 且每次Vector容量的自动扩展是按100%扩展,但是ArrayList是按50%扩展,这样使用ArrayList
- * 就会节省内存空间
- */
- void testVector()
- {
- Vector vector=new Vector();
- vector.add(1);
- vector.add(2);
- vector.add(3);
- vector.add(4);
- //System.out.println(ll.peekFirst());//读第一个值
- //System.out.println(ll.peek());//默认永远读第一个,通常用于循环中
- //System.out.println(ll.peek());
- Iterator it=vector.iterator();
- while(it.hasNext())
- {
- System.out.println(it.next());
- }
- }
- /*
- * LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,
- * insert方法在 LinkedList的首部或尾部。这些操作使LinkedList可被用作堆栈(stack),
- * 队列(queue)或双向队列(deque)。
- */
- void testLinkedList()
- {
- LinkedList ll=new LinkedList();
- ll.add(1);
- ll.add(2);
- ll.add(3);
- ll.add(4);
- ll.addFirst(5);//链表操作可以进行前插或者是后插,中间任意插入
- ll.addLast(6);
- //System.out.println(ll.peekFirst());//读第一个值
- //System.out.println(ll.peek());//默认永远读第一个,通常用于循环中
- //System.out.println(ll.peek());
- ll.pop();//把第一个弹出栈
- ll.push(10);//压入栈
- Iterator it=ll.iterator();
- while(it.hasNext())
- {
- System.out.println(it.next());
- }
- }
- /////////////////List类/////////////////
- /////////////////Map类/////////////////
- void testHashMap()
- {
- HashMap hm=new HashMap();
- //HashMap及Hashtable都是散列表,不可以排序,就算是排好了序也会被打乱
- hm.put(1, null);//可以放入空值
- hm.put(2, "21");
- hm.put(3, "33");
- hm.put(4, "w434");
- hm.put(5, "5we");
- hm.put(6, "df6");
- hm.put(7, "7we");
- hm.put(8, "re8");
- //Map类都要先转换为最老的迭代Collection后,才能够转换为新的迭代Iterator
- Collection c=hm.values();
- Iterator it=c.iterator();
- while(it.hasNext())
- {
- System.out.println(it.next());
- }
- }
- void testHashTable()
- {
- Hashtable ht=new Hashtable();
- //ht.put(1, null);//不可以放入空值,这里会报错,并且Hashtable是同步的
- //HashMap及Hashtable都是散列表,不可以排序,就算是排好了序也会被打乱
- ht.put(2, "21");
- ht.put(3, "33");
- ht.put(4, "w434");
- ht.put(5, "5we");
- ht.put(6, "df6");
- ht.put(7, "7we");
- ht.put(8, "re8");
- Collection c=ht.values();
- Iterator it=c.iterator();
- while(it.hasNext())
- {
- System.out.println(it.next());
- }
- }
- void testTreeMap()
- {
- TreeMap tm=new TreeMap();
- //ht.put(1, null);//不可以放入空值,这里会报错,并且Hashtable是同步的
- //TreeMap可以自动排序
- tm.put(2, "21");
- tm.put(3, "33");
- tm.put(4, "w434");
- tm.put(5, "5we");
- tm.put(6, "df6");
- tm.put(7, "7we");
- tm.put(8, "re8");
- Collection c=tm.values();
- Iterator it=c.iterator();
- //输出将会按参数自动排序
- while(it.hasNext())
- {
- System.out.println(it.next());
- }
- }
- /////////////////Map类/////////////////
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- TestColleaction tc=new TestColleaction();
- //tc.testArrayList();
- tc.testVector();
- //tc.testLinkedList();
- //tc.testHashMap();
- //tc.testHashTable();
- //tc.testTreeMap();
- }
- }
- 集合(Collection)与迭代器(Iterator)
- 集合(Collection)与迭代器(Iterator)
- 集合(Collection)与迭代器(Iterator)(转载)
- Java集合Collection与Iterator
- 集合(一)集合的引入、Collection和Iterator
- java集合(1):集合框架体系之Collection接口及迭代器Iterator接口
- 集合一(Collection、Iterator及其子类、List及其子类)
- 黑马程序员-- 集合框架 (Collection, Iterator,泛型)
- Collection(二)Iterator
- Java集合类的学习(二)——Collection接口和Iterator迭代器
- Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- 字典与集合(Dictionary与Collection)
- 08.集合框架(一)【集合概述】【接口Collection,Iterator,List,ListIterator】【类LinkedList,ArrayList】
- 集合接口与抽象类 collection接口 Iterator接口
- java基础(1)——Collection与Iterator
- 男性简单实用6个健身动作
- QTP
- 关于String...args
- 一些基本的正则表达式
- IP_ADAPTER_INFO 的msdn说明
- 集合(Collection)与迭代器(Iterator)
- SQLserver2005+Vista安装
- C++中const用法总结(转)
- 有两个关于内部类(Inner Class)的示例
- Java内部类(Inner Class)
- 利用JDOM及XPath操作XML文件
- C++中 public,protected, private 访问标号小结
- Java logging API之配置方法
- Weka初步二(聚类算法)