首页 > 代码库 > Java 集合框架

Java 集合框架

  ⑴集合的作用

  ①在类的内部,对数据进行组织(针对作用与意义一样的属性,将他们放到一个集合中);

  ②简单而快速的搜索大数量的条目;

  ③有的集合接口,提供了一系列排列有序的元素,并且可以在序列中快速的插入或删除有关元素;

  ④有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型。

 

  ⑵与数组相比

  ①数组的长度固定,集合长度可变;

  ②数组只能通过下标访问元素,下标为整型,类型固定,而有的集合可以通过任意类型(下标)查找所映射的具体象。

  

  1..List接口及其实现类——ArrayList

  List是元素有序并且可以重复的集合,被称为序列;可以精确的控制每个元素的插入位置,或删除某个位置元素;ArrayList是数组序列,底层是由数组实现的。

  例:List<String> ss = Arrays.asList("a","b","c","d");
    for(String s : ss){
    System.out.println(s);
    }

 

  2..Set接口及其实现类——HashSet

  Set是元素无序并且不可以重复的集合,被称作集。

  HashSet—哈希集,是Set的一个重要实现类。

  • Set的使用

    HashSet没有像List一样的set()方法来用指定元素替换指定位置的元素,因为Set集合的元素是无序的。同样也不能用访问索引的方式来获取指定位置的元素。 

   例:Set<String> set = new HashSet<String>();
     set.add("asds");
     set.add("bsdf");
     set.add("cfg");
     set.add("esdf");
     set.add("gffgh");
     for(String str : set){
     System.out.println(str);
     }

  

  3..Map接口

  Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,key和value可以是任意类型的对象,能够实现根据key快速查找value。

  Map中的键值对以Entry类型的对象实例形式存在。

  键(key值)不可重复,value值可以。

  每个键最多只能映射到一个值,一个值可以对应多个键。

  Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法。Entry类是Map的一个内部类。

  Map支持泛型,形式如:Map<Key值类型,V值类型>

  • HashMap类

  HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现。

  HashMap中的Entry对象是无序排列的。

  Key值和value值都可以为null,但是一个HashMap只能有一个key值为null的映射。

      例:Map<Integer,String> map = new HashMap<Integer,String>();

      map.put(28, "鹿晗");
      map.put(20, "杨一杏");
      map.put(35, "陈伟霆");
      map.put(46, "易烊千玺");

      Set<Integer> keys = map.keySet();

      for(int i : keys){
        System.out.println(i + "=====" + map.get(i));
      }

 

  

Java 集合框架