Java集合类

来源:互联网 发布:java所有关键字 编辑:程序博客网 时间:2024/05/16 10:26

Java集合类

集合就是存储对象常用的一种方式,其长度可变,不可以存储基本数据类型值。

  • Java集合类
    • 集合类关系
    • Collection接口
    • List接口
    • Set接口
    • Map接口
    • 集合遍历
      • 遍历List
      • 遍历Set
      • 遍历Map

集合类关系

Collection接口

Collection接口
|–List接口:元素可以重复,有序(存入和取出的顺序一致),元素都有索引(角标)。
|–Set接口:元素不能重复,无序。

List接口

List常用的子类:
|–Vector类:内部是 数组 数据结构,是同步的。增删,查询都很慢。
|–ArrayList类:内部是 数组 数据结构,是不同步的。替代了Vector,查询的速度快
|–LinkedList类:内部是 链表 数据结构,是不同步的。增删元素的速度很快

Set接口

Set常用的子类(方法和Collection一致)
|–HashSet类:内部数据结构是 哈希表,是不同步的。
|–TreeSet类:内部数据结构是 二叉树,是不同步的。

Map接口

Map常用的子类:
|–Hashtable类 :内部结构是 哈希表,是同步的。不允许null作为键,null作为值。
  |–Properties类:内部结构是 哈希表,是不同步的。用来存储键值对型的配置文件信息,可以和IO技术相结合。
|–HashMap类:内部结构是 哈希表,是不同步的。允许null作为键,null作为值。
|–TreeMap类:内部结构是 二叉树,是不同步的。可以对Map集合中的键进行排序。

集合遍历

遍历List

public static void main(String[] args) {        List<String> list = new ArrayList<String>();        list.add("红");        list.add("绿");        list.add("蓝");        //遍历List方法1,使用普通for循环:        for (int i = 0; i < list.size(); i++) {            String temp=(String)list.get(i);            System.out.println(temp);        }        //遍历List方法2,使用增强for循环(需使用泛型定义类型!):        for(String temp:list){            System.out.println(temp);        }        //遍历List方法3,使用Iterator迭代器:        for(Iterator iter=list.iterator();iter.hasNext();){            String temp=(String)iter.next();            System.out.println(temp);        }    }

遍历Set

    public static void main(String[] args) {        Set<String> set = new HashSet<String>();        set.add("红");        set.add("绿");        set.add("蓝");        //遍历Set方法1,使用增强for循环:        for(String temp:set){            System.out.println(temp);        }        //遍历Set方法2,使用Iterator迭代器:        for(Iterator iter=set.iterator();iter.hasNext();){            String temp=(String)iter.next();            System.out.println(temp);        }    }

遍历Map

    public static void main(String[] args) {        Map<String,String> map = new HashMap<String, String>();        map.put("A", "红");        map.put("B", "绿");        map.put("C", "蓝");        //遍历Map方法1,使用keySet():        Set<String> keySet=map.keySet();        for(String id:keySet){            System.out.println(id+map.get(id));        }        //遍历Map方法2,使用entrySet():        Set<Map.Entry<String, String>> entrySet=map.entrySet();        Iterator<Map.Entry<String, String>> it = entrySet.iterator();        while(it.hasNext()){            Map.Entry<String,String> map1 = it.next();            System.out.println(map1.getKey()+map1.getValue());        }    }
0 0
原创粉丝点击