Java容器类(集合类)学习笔记

来源:互联网 发布:闲鱼淘宝介入流程 编辑:程序博客网 时间:2024/06/14 05:33

一、概述
1.Java容器类是用来存对象,存的是对象的引用;
2.Java容器类基本分为三大类:set、list、map,其中set存无序不重复对象,set容器无法记住元素添加的顺序,list存有序可重复对象,list能记住元素添加的顺序,就像可变数组一样,map存键值对,其中key像set集合不可重复,而value更像list集合可重复。
3.Java容器类主要由两个接口派生出来Collection和Map,其中它们的继承树如下图所示:
这里写图片描述
这里写图片描述
4.遍历集合的方法
1).使用Iterator对象即迭代器对象,Iterator的方法如下:
这里写图片描述
使用Iterator对元素进行迭代时,并不是把集合元素本身传给迭代变量,而是把集合元素的值传给了迭代变量,所以使用Iterator来访问容器元素时,元素的值不能被改变,但Iterator的remove方法是能删除集合的元素。同时Iterator是依附于集合类而存在的。
2).使用foreach遍历

       Collection array=new ArrayList();        array.add("array1");        array.add("array2");        array.add("array3");        array.add("array4");        Iterator ite=array.iterator();        while(ite.hasNext()){            Object obj=ite.next();            System.out.println(obj);        }        ite.remove();        System.out.println(array);        for(Object obj:array){            System.out.println("obj:"+obj);        }

二、set集合
1.set集合判断两个元素是否相等的依据是equals

        set.add("array1");        set.add("array1");        set.add("array2");        set.add("array3");        //[array3, array2, array1]
  1. HashSet
    1). HashSet使用Hash算法来存储元素,故具有很好的存取和查找性能,其中HashCode就是其索引。
    2)HashSet的特点:a)可以存null值;b)不是同步非线程安全。
    这里写图片描述
    如果将自定义对象放Hashset中,则需要重新equals()和hashCode方法

  2. TreeSet
    1). TreeSet是SortedSet接口的唯一实现,其元素时有序的。

0 0
原创粉丝点击