JAVA复习之集合~~

来源:互联网 发布:淘宝网店虚拟交易套现 编辑:程序博客网 时间:2024/05/16 16:06
集合:用于存储对象的长度可变的容器;
    因为结构参数不同,形成了集合体系;


Collection 接口
          共性方法:
           添加:boolean add(obj);向集合中添加元素;
           删除:
                  boolean remove();删除集合的某一个元素;
                  boolean clean(); 清空容器中的所有元素;
           判断:
                  boolean contains();判断容器中是否有这个元素,有的话返回true;
                  isEmpty();判断集合是否为空;依据的是size方法;
           获取:
                  Iterator iterotor(); 迭代器;遍历每个元素;
           交集:
                  retainAll(); al.retainAll(all); 获取al容器与all容器相同的元素;
           个数:
                  size();方法;


                 |--List:有序,可以重复,有角标;靠角标找到元素;
                 |--Set:无序,无重复,
           转成数组 :T[] toArray(T() t);


    ------------------------------------------------------
       List:
            特有方法,依据角标识别元素;index角标;
             添加(插入):add(index,obj);
             删除:remove(index);
             获取:get(index);
             索引:
                 indexOf(obj);
                 lastList(obj);
             取子列表
                 subList(start,end);包括头不包括尾
             修改:set(index,obj);
           list集合支持列表迭代器ListIterator();
              Iterator在迭代时,只能对元素进行获取(next())和删除(remove)的操作;
              Iterator的子接口ListIterator在迭代集合时,可以定义元素进行添加add(index,obj)、修改set(index,obj)的操


作;
 
      List :
           vector:底层是数组数据结构,jdk1.0开始出现。线程是同步的,被jdk1.2出现的ArrayList所替代,因为效率低;
           ----
              一中特有的取出方式——枚举(Enumeration)
              枚举的功能和迭代器功能一致,因方法名过长被取代;
           ----
           ArrayList:底层是数组数据结构(可变长度数组:超出已有数组长度后会有新数组形成,并把原数组数据的复制新数组


中),jdk1.2出现,线程不是同步的,查询速度快;
      LinkedList:底层是链表数据结构,线程是不同步的,增删数据很快,可以使用该集合去模拟 队列(先进先出) 或者堆栈


(后进先出)数据结构;


          -----
          特有方法:
             addFirst();------jdk1.6-------offerFirst();在此列表的开头插入指定的元素。
             addLase();-------jdk1.6-------offerLast(); 在此列表末尾插入指定的元素。


             getFirst()------jdk1.6-------peekFirst();获取但不移除此列表的第一个元素;如果此列表为空,则返回 null



             getLast()------jdk1.6-------peekLast(); 获取但不移除此列表的最后一个元素;如果此列表为空,则返回 null





             removeFirst()------jdk1.6-------pollFirst();获取并移除此列表的第一个元素;如果此列表为空,则返回 null



             removeLast()------jdk1.6-------pollLast();获取并移除此列表的最后一个元素;如果此列表为空,则返回 null