资讯专栏INFORMATION COLUMN

集合类List 的接口定义

darkbug / 1194人阅读

摘要:迭代器,主要提供迭代器,并行迭代器还有就是定义所有的集合类支持方法。集合和的区别只能返回并且不能强制进行转换会报错不会有该问题方法结果取并集接口看一下这个接口相比较都多了哪些方法排序方法方法方法

集合类

目标:
先看一下在JAVA中都包含了哪些集合类?
首先我们看一下 List 相关的一些类,并搞清楚他们究竟有哪些实现类,并且这些实现类的使用场景都是什么。

类图

这个是类图,我们看到所有的集合类都是实现了

Iterable

Collection

List

我们先看一下他们都实现了哪些方法,并探究他们实现的方式是什么。

Iterable

迭代器,主要提供迭代器,并行迭代器(Spliterator) 还有就是定义所有的集合类支持 forEach 方法。像forEach 和 并行迭代器 这些都是在jdk8 中新出的东西。以后专门学习一下 jdk8 中的新东西。

Collection 集合 toArray() 和 T[] toArray(T[] a) 的区别

toArray() 只能返回Object[] 并且不能强制进行转换 (String[]) strings.toArray(). 会报错

toArray(T[] a) 不会有该问题

containsAll 方法
    @Test
    public void testContainsAll() {
        List lists = new ArrayList<>();
        lists.add("1");
        lists.add("2");
        lists.add("3");

        System.out.println("============>" + lists.contains("1"));

        List lists1 = new ArrayList<>();

        System.out.println("============>" + lists.containsAll(lists1));

        lists1.add("1");

        System.out.println("============>" + lists.containsAll(lists1));

        lists1.add("4");

        System.out.println("============>" + lists.containsAll(lists1));
    }

=========结果=========
============>true
============>true
============>true
============>false
retainAll 取并集
    @Test
    public void testRetainAll() {
        List lists = new ArrayList<>();
        lists.add("1");
        lists.add("2");
        lists.add("3");
        lists.retainAll(new ArrayList<>());
        System.out.println("============>" + lists);


        lists.add("1");
        lists.add("2");
        lists.add("3");

        List lists1 = new ArrayList<>();
        lists1.add("1");
        lists1.add("a");
        lists.retainAll(lists1);
        System.out.println("============>" + lists);
    }
-------------------
============>[]
============>[1]
List 接口

看一下这个接口相比较Collection都多了哪些方法?

sort 排序方法
    default void sort(Comparator c) {
        Object[] a = this.toArray();
        Arrays.sort(a, (Comparator) c);
        ListIterator i = this.listIterator();
        for (Object e : a) {
            i.next();
            i.set((E) e);
        }
    }
add get set 方法 subList 方法

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73611.html

相关文章

  • Java 泛型

    摘要:唯一的例外是,它是所有引用类型的实例另一方面,程序可以调用方法来返回集合指定索引处的元素,其返回值是一个未知类型,但可以肯定的是,它总是一个。 泛型入门 编译时不检查类型的异常 public class ListErr { public static void main(String[] args) { // 创建一个只想保存字符串的List集合 ...

    Zachary 评论0 收藏0
  • Java013-集合

    摘要:集合框架重点理解用于存储数据的容器。集合容器在不断向上抽取过程中。出现了集合体系。,删除将集合中的元素全删除,清空集合。删除集合中指定的对象。注意删除成功,集合的长度会改变。作用用于取集合中的元素。是集合特有的迭代器。是单列集合是双列集合 集合框架(重点理解):用于存储数据的容器。特点:1:对象封装数据,对象多了也需要存储。集合用于存储对象。2:对象的个数确定可以使用数组,但是不确定怎...

    qpal 评论0 收藏0
  • 1、Map接口 2、模拟斗地主洗牌发牌

    摘要:中的集合称为单列集合,中的集合称为双列集合。洗牌通过数字完成洗牌发牌发牌将每个人以及底牌设计为将最后张牌直接存放于底牌,剩余牌通过对取模依次发牌。存放的过程中要求数字大小与斗地主规则的大小对应。 01Map集合概述 A:Map集合概述: 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同  a:Collection中的集...

    付伦 评论0 收藏0
  • 集合总结

    摘要:当使用迭代器访问集合元素时,中的元素不能被改变,只能通过的方法删除上一次方法返回的集合元素才可以否则将会引发异常。可以确保集合元素处于有序状态。返回中所有键值对组成的视图,每个集合元素都是是的内部类对象。这种集合称为视图。 1.集合概览 集合包括两大接口:Collection 和 Map。 Map TreeMap HashMap LinkedHashMap Collecti...

    yanbingyun1990 评论0 收藏0
  • java集合

    集合的作用:1,在类的内部,对数据进行组织2,简单而快速的搜索大数量的条目3,有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素4,有的集合接口提供了映射的关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意的类型 为何选择集合而不是数组数组长度固定,集合长度可变数组只能通过下标访问,类型固定,而集合可以通过任意类型查找所映射的具体对...

    zxhaaa 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<