首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java集合类的根本方法的使用

2012-12-21 
java集合类的基本方法的使用JAVA集合类的基本方法  我们看一个简单的例子,来了解一下集合类的基本方法的使

java集合类的基本方法的使用
JAVA集合类的基本方法  我们看一个简单的例子,来了解一下集合类的基本方法的使用:
  import java.util.*;
  public class CollectionToArray {
  public static void main(String args) {
  Collection collection1=new ArrayList();//创建一个集合对象
  collection1.add("000");//添加对象到Collection集合中
  collection1.add("111");
  collection1.add("222");
  System.out.println("集合collection1的大小:"+collection1.size());
  System.out.println("集合collection1的内容:"+collection1);
  collection1.remove("000");//从集合collection1中移除掉 "000" 这个对象
  System.out.println("集合collection1移除 000 后的内容:"+collection1);
  System.out.println("集合collection1中是否包含000 :"+collection1.contains("000"));
  System.out.println("集合collection1中是否包含111 :"+collection1.contains("111"));
  Collection collection2=new ArrayList();
  collection2.addAll(collection1);//将collection1 集合中的元素全部都加到collection2中
  System.out.println("集合collection2的内容:"+collection2);
  collection2.clear();//清空集合 collection1 中的元素
  System.out.println("集合collection2是否为空 :"+collection2.isEmpty());
  //将集合collection1转化为数组
  Object s= collection1.toArray();
  for(int i=0;i<s.length;i++){
  System.out.println(s[i]);
  }
  }
  }
  运行结果为:
  集合collection1的大小:3
  集合collection1的内容:[000, 111, 222]
  集合collection1移除 000 后的内容:[111, 222]
  集合collection1中是否包含000 :false
  集合collection1中是否包含111 :true
  集合collection2的内容:[111, 222]
  集合collection2是否为空 :true
  111
  222
  这里需要注意的是,Collection 它仅仅只是一个接口,而我们真正使用的时候,确是创建该接口的一个实现类。做为集合的接口,它定义了所有属于集合的类所都应该具有的一些方法。
  而ArrayList (列表)类是集合类的一种实现方式。
  下面,我们看一个对于迭代器的简单使用:
  import java.util.ArrayList;
  import java.util.Collection;
  import java.util.Iterator;
  public class IteratorDemo {
  public static void main(String args) {
  Collection collection = new ArrayList();
  collection.add("s1");
  collection.add("s2");
  collection.add("s3");
  Iterator iterator = collection.iterator();//得到一个迭代器
  while (iterator.hasNext()) {//遍历
  Object element = iterator.next();
  System.out.println("iterator = " + element);
  }
  if(collection.isEmpty())
  System.out.println("collection is Empty!");
  else
  System.out.println("collection is not Empty! size="+collection.size());
  Iterator iterator2 = collection.iterator();
  while (iterator2.hasNext()) {//移除元素
  Object element = iterator2.next();
  System.out.println("remove: "+element);
  iterator2.remove();
  }
  Iterator iterator3 = collection.iterator();
  if (!iterator3.hasNext()) {//察看是否还有元素
  System.out.println("还有元素");
  }
  if(collection.isEmpty())
  System.out.println("collection is Empty!");
  //使用collection.isEmpty()方法来判断
  }
  }|||
  程序的运行结果为:
  iterator = s1
  iterator = s2
  iterator = s3
  collection is not Empty! size=3
  remove: s1
  remove: s2
  remove: s3
  还有元素
  collection is Empty!
  可以看到,Java的Collection的Iterator 能够用来,:
  1) 使用方法 iterator() 要求容器返回一个Iterator .第一次调用Iterator 的next() 方法时,它返回集合序列的第一个元素。
  2) 使用next() 获得集合序列的中的下一个元素。
  3) 使用hasNext()检查序列中是否元素。
  4) 使用remove()将迭代器新返回的元素删除。
  需要注意的是:方法删除由next方法返回的最后一个元素,在每次调用next时,remove方法只能被调用一次 .
  大家看,Java 实现的这个迭代器的使用就是如此的简单。Iterator(跌代器)虽然功能简单,但仍然可以帮助我们解决许多问题,同时针对List 还有一个更复杂更高级的ListIterator.您可以在下面的List讲解中得到进一步的介绍。
  我们看一个List的例子:
  import java.util.*;
  public class ListIteratorTest {
  public static void main(String args) {
  List list = new ArrayList();
  list.add("aaa");
  list.add("bbb");
  list.add("ccc");
  list.add("ddd");
  System.out.println("下标0开始:"+list.listIterator(0).next());//next()
  System.out.println("下标1开始:"+list.listIterator(1).next());
  System.out.println("子List 1-3:"+list.subList(1,3));//子列表
  ListIterator it = list.listIterator();//默认从下标0开始
  //隐式光标属性add操作 ,插入到当前的下标的前面
  it.add("sss");
  while(it.hasNext()){
  System.out.println("next Index="+it.nextIndex()+",Object="+it.next());
  }
  //set属性
  ListIterator it1 = list.listIterator();
  it1.next();
  it1.set("ooo");
  ListIterator it2 = list.listIterator(list.size());//下标
  while(it2.hasPrevious()){
  System.out.println("previous Index="+it2.previousIndex()+",Object="+it2.previous());
  }
  }
  }
  程序的执行结果为:
  下标0开始:aaa
  下标1开始:bbb
  子List 1-3:[bbb, ccc]
  next Index=1,Object=aaa
  next Index=2,Object=bbb
  next Index=3,Object=ccc
  next Index=4,Object=ddd
  previous Index=4,Object=ddd
  previous Index=3,Object=ccc
  previous Index=2,Object=bbb
  previous Index=1,Object=a

?

热点排行