A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 追逐 高级黑马   /  2014-3-21 09:13  /  780 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 追逐 于 2014-3-21 19:31 编辑

import java.util.ArrayList;
import java.util.Iterator;
/*
1,add方法的参数是Object.以便于接收任意类型对象。
2集合中存储的都是对象的引用(也就是地址)

常用函数
add(); 添加元素
size(); 求集合的长度
contains(String); 判断String字符是否存在于集合中
isEmpty(); 此函数判断集合是否为空
remove(String) 删除数组中的Sring元素
clear(); 清空集合

retainAll()  去交集
remove() 删除有交集的元素

什么是迭代器?
其实就是集合的取出元素的方式。
把取出方式定义在集合的内部,
这样取出方式就可以直接访问集合内容的元素。

那么取出方式就被定义成了内部类。

而每一个容器的数据结构不同。
所以取出的动作细节也不一样,但是都有共性内容。
判读和取出。那么可以可以将共性抽取。

所以这些内部类都符合一个规则。该规则就是Iterator.
如何取出集合的取出对象呢?
通过一个对外提供的方法iterator();
*/

  1. class CollectionDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 //mothed_1();
  6.                 //mothed_2();
  7.                 dieDai();
  8.         }

  9.         //结合容器Collection的一个基本应用
  10.         public static void mothed_1()
  11.         {
  12.                 //创建一个集合容器,使用Collection接口的子类。ArrayList
  13.                 ArrayList  a1 = new ArrayList();
  14.                
  15.                 //添加元素
  16.                 a1.add("java01");
  17.                 a1.add("java02");
  18.                 a1.add("java03");
  19.                 a1.add("java04");

  20.                 //获取个数。求集合的长度
  21.                 p("长度是:" + a1.size());

  22.                 //打印集合
  23.                 p("原集合:" + a1);

  24.                 //判断java03元素是否存在    运用contains函数
  25.                 p("java03是否存在于集合中:" + a1.contains("java03"));

  26.                 //判断集合是否为空  运用isEmpty()函数
  27.                 p("判断集合是否为空:" + a1.isEmpty());


  28.                 //删除集合
  29.                 a1.remove("java03"); //调用remove函数删除集合中的元素
  30.                 p("删除单个元素后的集合:" + a1);

  31.                 a1.clear(); //调用clear清空集合
  32.                 p("清空后的集合:" + a1);
  33.         }
  34.         
  35.         //集合中的交集小例子
  36.         public static void mothed_2()
  37.         {
  38.                 //创建一个集合容器,使用Collection接口的子类。ArrayList
  39.                 ArrayList  a1 = new ArrayList();
  40.                
  41.                 //添加元素
  42.                 a1.add("java01");
  43.                 a1.add("java02");
  44.                 a1.add("java03");
  45.                 a1.add("java04");
  46.                
  47.                 ArrayList a2 = new ArrayList();
  48.                 //添加元素
  49.                 a2.add("java01");
  50.                 a2.add("java02");
  51.                 a2.add("java05");
  52.                 a2.add("java06");
  53.                 //a1.retainAll(a2); //判断两个容器是否有交集的地方,有的话。把交集的内容打印,.可以剪短的称之为取交集
  54.                 //p(a1);
  55.                 a1.removeAll(a2); //干掉相同的元素
  56.                 p(a1);
  57.         }

  58.         //简单应用迭代器
  59.         public static void dieDai()
  60.         {
  61.                 ArrayList s = new ArrayList();
  62.                 s.add("java01");
  63.                 s.add("java02");
  64.                 s.add("java03");
  65.                 s.add("java04");
  66.                 /*   此为while循环
  67.                 //获取迭代器 使用迭代器取出集合中的元素
  68.                 Iterator it = s.iterator();
  69.                 while(it.hasNext()) //判断集合中是否有内容。有就往下执行
  70.                 {
  71.                         p(it.next()); //打印输出集合中的内容
  72.                 }
  73.                 */
  74.                 //使用for循环使用迭代器
  75.                 for(Iterator it = s.iterator(); it.hasNext(); )
  76.                 {
  77.                         p(it.next());
  78.                 }

  79.         }
  80.         
  81.         public static void p(Object obj)
  82.         {
  83.                 System.out.println(obj);
  84.         }

  85. }
复制代码


2 个回复

倒序浏览
正学着这里呢
回复 使用道具 举报
给你补充下吧。要想使用迭代器,必须使用iterator接口。
Map集合就不能直接使用迭代器。
必须使用keySet 或者是entrySet,返回Set的集合使用
entrySet效率比较高
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马