美文网首页
Collection 集合类

Collection 集合类

作者: relax_小罗罗 | 来源:发表于2020-04-19 01:36 被阅读0次

Collection 集合类

java.util包中提供了一些集合类,这些集合类又称为容器;
集合类和数组的区别在于:
1.数组的长度是固定的,集合的长度是可变的;
2.数组是来存放基本类型的数据,集合用来存放对象的引用;


结构图

Collection接口是层次是根接口。构成Collection的单位称为元素。Collection接口通常不能直接使用,但该接口提供了添加元素,删除元素,管理数据的方法,由于List接口与Set接口都继承了Collection接口,因此这些方法都是通用的。
add(E e) 将指定的对象添加到集合中
remove(Object o) 将指定的对象从该集合中删除
isEmpty() 用于判断当前集合是否为空
iterator() 返回在此Collection的元素上进行迭代的迭代器
size() 返回集合中元素个数

遍历元素

iterator迭代器

Collection接口中iterator()方法可在此返回迭代器。

    public static void main(String[] args) {
        Collection<String> list=new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        Iterator<String> it =list.iterator();
        while (it.hasNext()){
            //it.next() 返回的方法对象时Object
            System.out.println(it.next());
        }
    }

for

   for(String s:list){
          System.out.println(s);
      }
   List<String> list1=new ArrayList<>();
        list1.add("a");
        list1.add("b");
        list1.add("c");
        list1.add("d");
        for(int i=0;i<list1.size();i++){
            System.out.println(list1.get(i));
        }

Arraylist

Arraylist类实现了可变的数组,允许保存所有元素,包括null;
优点:可以根据索引的位置对集合进行快速的随机访问;
缺点:向指定的索引位置插入对象或删除对象比较慢;

LinkedList

LinkedList采用链表结构保存对象。
优点:可以高速的对集合进行插入和删除对象;
缺点:随机访问集合中的对象效率较低;

Set

Set集合中的对象不按照特定的方式排序,只是简单的把对象加入到集合中,但集合中不能包含重复对象

HashSet

HashSet由哈希表支持,他不保证Set的迭代顺序,特别是它不保证该顺序永恒不变,此类允许使用null元素。

TreeSet

TreeSet 不仅实现了Set接口,还实现了SorteSet接口,因此Set结合在便利集合时按照自然顺序递增排序,也可以按照指定的比较器递增排序。

Map

Map集合没有继承Collection接口,其提供的是key到value的映射。Map中不能包含相同的key,每个key只能映射一个value。
put(K key,V value) 向集合中添加元素;
containsKey(Object key) 如果包含指定的key,返回true;
containsValue(Object value) 如果包含指定的value,返回true;
get(Object key) 如果指定的key存在,则返回该对象对应的值,否则返回null;
keySet() 返回该集合中的所有key 形成的Set集合;
values() 返回集合中所有对应值对象形成的Collection集合;

 public static void main(String[] args) {
        Map<String,String> map = new HashMap<>(); // 创建Map实例
        map.put("01", "A"); // 向集合中添加对象
        map.put("02", "B");
        Set<String> set = map.keySet(); // 构建Map集合中所有key对象的集合
        Iterator<String> it = set.iterator(); // 创建集合迭代器
        System.out.println("key集合中的元素:");
        while (it.hasNext()) { // 遍历集合
            System.out.println(it.next());
        }
        Collection<String> coll = map.values(); // 构建Map集合中所有values值集合
        it = coll.iterator();
        System.out.println("values集合中的元素:");
        while (it.hasNext()) { // 遍历集合
            System.out.println(it.next());
        }  

HashMap

HashMap是由哈希表的Map接口实现的,此实现提供所有可选的映射操作,并允许使用NULL,NULL,但是必须保证键的唯一性,此类不能保证顺序

TreeMap

TreeMap不仅实现了Map接口,还实现了SotredMap接口,所以集合中映射关系有一定的顺序,也因此不允许键为null,性能比HashMap 差。

相关文章

  • 集合

    常用集合类 单列集合 Collection:Iterable 是单列集合类的根接口 Collection用于存储一...

  • Java Collection集合

    Collection集合 collection集合作为List集合和Set集合共有的父类拥有着List集合和Set...

  • Java实战开发篇-8 集合

    集合 一、简介 1.集合分为Collection集合和List集合(1)Collection是集合类的一个接口,它...

  • 2020-06-28【集合-Collection】

    Collection概述 集合类体系结构 Collection以及常用方法 Collection遍历 练习

  • Collection 集合类

    Collection 集合类 java.util包中提供了一些集合类,这些集合类又称为容器;集合类和数组的区别在于...

  • Java 容器 - 一文详解HashMap

    Map 类集合 Java Map类集合,与Collections类集合存在很大不同。它是与Collection 类...

  • java——集合

    集合概述集合按照存储结构可以分为两大类 单列集合Collection Collection(单列集合类的跟接口)有...

  • 2019-01-01

    Day10 Collection、泛型类,及其扑克牌案例 1.Collection集合 1.1 集合的概述 集合...

  • 2018-12-21

    Day10 Collection、泛型类 1.Collection集合 1.1 集合的概述 集合是java中提供的...

  • Java核心技术(卷I) 19、集合

    1、集合框架 接口与实现分离 Collection接口 集合类的基本接口是Collection接口 add向集合中...

网友评论

      本文标题:Collection 集合类

      本文链接:https://www.haomeiwen.com/subject/duzzvhtx.html