黑马程序员_java基础集合

来源:互联网 发布:板材下料优化软件 编辑:程序博客网 时间:2024/05/16 17:04

 ---------------------- android培训java培训、期待与您交流! ----------------------

集合
 (1)用于存储对象.
  由来:
  如果我们要操作很多对象,我们是不是要把很多对象进行存储?是
  这个时候,我们会想到了,我们前面学过数组,那么我们可不可以把自定义对象放到数组中?可以
  为什么我们不采用数组存对象呢?因为数组长度是固定,而我们很多时候,对象的个数是不确定的.
  所以,我们产生了集合框架.
 (2)集合和数组的区别
  A:集合长度是可变的.只能存储对象.
  B:数组的长度是固定的.可以存储对象,也可以存储基本数据类型.

  什么时候用哪个?
   长度不固定,用集合.
   长度固定,可以集合,可用数组.
 (3)集合是个容器
  由于每种容器的数据结构不同,所以我们集合框架中有很多种容器.
  这个时候,我们把容器进行不断的向上抽取,最终形成了集合的体系结构.
  Collection
   |--List
    |--ArrayList
    |--Vector
    |--LinkedList
   |--Set
    |--HashSet
    |--TreeSet
  按照我们学习体系的习惯: 先学习顶层对象
     使用的时候,使用底层对象.
 (4)Collection:
  A:增加
    boolean add(Object obj)
    boolean addAll(Collection c)
  B:删除
    boolean remove(Object obj)
    boolean removeAll(Collection c)
    void clear();
  C:长度
    int size();

    数组:length
    字符串:length();
  D:判断
    boolean contains(Object obj);
    boolean containsAll(Collection c);
    boolean isEmpty();
  E:交集
    boolean retainAll(Collection c)
    有A,B两个集合.
    做完交集后,A集合中的元素发生变化,取得是A和B相同的元素.B不变化.
   
    boolean值的问题:
    只要A集合变化,那么返回true.否则false
   
  F:集合转数组
    Object[] toArray()
  G:迭代器
    Iterator iterator();

   boolean hasNext()
    如果仍有元素可以迭代,则返回 true。
   Object next()
    返回迭代的下一个元素。

    Collection c = new ArrayList();
    c.add("hello");

    Iteratot it = c.iterator();//返回的是Iteratot的子类对象
    while(it.hasNext())
    {
   String str = (String)it.next();
   System.out.println(str);
    }

  ---------------------- android培训java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima

原创粉丝点击