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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhp19821223 中级黑马   /  2015-10-13 23:53  /  483 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1:集合(掌握)
(1)集合的由来
  我们需要对多个对象进行存储和获取。可以使用对象数组。
  但是,如果对象的个数是变化的,对象数组就解决不了了。
  怎么办呢?java就提供了集合类解决。
(2)集合和数组的区别?
  A:长度问题
   数组长度固定
   集合长度可变
  B:存储元素类型1
   数组只能存储同一种类型
   集合可以存储不同类型的对象
  C:存储元素类型2
   数组可以存储基本类型,也可以存储引用类型。
   集合只能存储引用类型。
(3)集合体系的由来:
  多种集合的数据结构不同,但是,它们有共性的功能。
  通过不断的向上抽取,最终形成了集合的体系结构。
  Collection
   |--List
    |--ArrayList
    |--Vector
    |--LinkedList
   |--Set
    |--HashSet
    |--TreeSet
(4)Collection接口的功能:
  A:添加功能
   add(Object obj)
  B:删除功能
   remove(Object obj)
  C:判断功能
   contains(Object obj)
  D:获取功能
   Iterator iterator()
  E:长度功能
   size()
(5)迭代器
  A:迭代器其实就是遍历集合的一种方式。
  B:迭代器的使用:
   迭代器不能单独使用,它依赖于集合而存在。
  C:使用步骤
   a:通过集合对象调用iterator()方法得到迭代器对象。
   b:通过迭代器对象的hasNext()方法判断是否有元素。
   c:通过迭代器对象的next()获取元素。
  D:原理:
   是以内部类形式存在的。
(6)案例:(掌握)
  集合的使用步骤:
   A:创建集合对象
   B:创建元素对象
   C:把元素添加到集合中
   D:遍历集合
    a:通过集合对象调用iterator()方法得到迭代器对象。
    b:通过迭代器对象的hasNext()方法判断是否有元素。
    c:通过迭代器对象的next()获取元素。
  存储字符串并遍历:
   
   Collection c = new ArrayList();
   String s1 = "hello";
   String s2 = "world";
   String s3 = "java";
   c.add(s1);
   c.add(s2);
   c.add(s3);
   Iterator it = c.iterator();
   while(it.hasNext()) {
    String s = (String) it.next();
    System.out.println(s);
   }
  存储自定义对象并遍历:自己补齐。
2:List及其子类(掌握)
(1)List的特点:
  Collection
   |--List:元素有序(存入顺序和取出顺序一致),可重复。
   |--Set:元素无序,唯一。
(2)List的特有功能:
  A:添加功能
   add(int index,Object obj)
  B:删除功能
   remove(int index)
  C:获取功能
   get(int index)
  D:修改功能
   set(int index,Object obj)
(3)案例:
  List存储字符串并遍历。
  List存储自定义对象并遍历。
   
   使用集合存储自定义对象的步骤:
  1、定义要存储到集合当中的类
  2、创建     集合 集合引用变量 = new 集合();
  3、创建要存储到集合当中的类的对象们
  4、调用集合方法,存储对应的对象
  5、返回对应集合的迭代器
  6、使用迭代器判断是否有下个元素
  7、如果有下个元素则获取下个元素
(4)ListIterator(理解)
  A:可以逆向遍历,但是要先正向遍历,所以一般不用。
  B:可以解决并发修改异常问题。
   并发修改异常:在用迭代器遍历集合的时候,通过集合去修改了集合的元素。
   解决方案:
    a:通过列表迭代器遍历,通过列表迭代器修改集合。
    b:通过集合遍历,通过集合修改集合。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马