未命名

发布时间:2020-12-06编辑:dyy阅读(1039)

Java中的集合类层次结构

Java中集合主要分为两种:Collection和Map。Collection是List和Set接口的父接口;ArrayList和LinkedList是List的实现类;HashSet和TreeSet是Set的实现类;LinkedHashSet是HashSet的子类。HashMap和TreeMap是Map的实现类;LinkedHashMap是HashMap的子类

blob.png

Collection 接口

Collection 接口定义了一些通用的方法,是List和set的父接口,通过这些方法可以实现对集合的基本操作。定义的方法既可用于操作 Set 接口和List 接口

编写一个简单的程序,演示如何使用 Collection 接口向集合中添加方法:

public static void main(String[] args) {

    ArrayList list1 = new ArrayList();   // 创建集合 list1

    ArrayList list2 = new ArrayList();   // 创建集合 list2

    list1.add("one");    // 向 list1 添加一个元素

    list1.add("two");    // 向 list1 添加一个元素

    list2.addAll(list1);    // 将 list1 的所有元素添加到 list2

    list2.add("three");    // 向 list2 添加一个元素

    System.out.println("list2 集合中的元素如下:");

    Iterator it1 = list2.iterator();  //获取迭达器

    while (it1.hasNext()) {    //获取集合中所有的元素

        System.out.print(it1.next() + "、");    //list2集合中的元素为:one、two、three

    }

}

代码中使用了 Collection 接口的 ArrayList 实现类来调用 Collection 的方法代码创建了两个集合 list1 和 list2,然后调用 add() 方法向 list1 中添加了两个元素,再调用 addAll() 方法将这两个元素添加到 list2 中。接下来又向 list2 中添加了一个元素,最后输出 list2 集合中的所有元素

演示 Collection 集合中 size()、remove() 和 removeAll() 方法的应用

public static void main(String[] args) {

    ArrayList list1 = new ArrayList();       // 创建集合 list1

    ArrayList list2 = new ArrayList();      // 创建集合 list2

    list1.add("one");

    list1.add("two");

    list1.add("three");

    System.out.println("list1 集合中的元素数量:" + list1.size());         // 输出list1中的元素数量   //3

    list2.add("two");

    list2.add("four");

    list2.add("six");

    System.out.println("list2 集合中的元素数量:" + list2.size());         // 输出list2中的元素数量    //3

    list2.remove(2);                                                               // 删除第 3 个元素

    System.out.println("\nremoveAll() 方法之后 list2 集合中的元素数量:" + list2.size());   //2

    System.out.println("list2 集合中的元素如下:");    //two、four

    Iterator it1 = list2.iterator();

    while (it1.hasNext()) {

        System.out.print(it1.next() + "、");

    }

    list1.removeAll(list2);       //删除list1集合中含有list2集合中的元素

    System.out.println("\nremoveAll() 方法之后 list1 集合中的元素数量:" + list1.size());  //2

    System.out.println("list1 集合中的元素如下:");   //one、three

    Iterator it2 = list1.iterator();

    while (it2.hasNext()) {

        System.out.print(it2.next() + "、");

    }

}

list2 集合在调用 remove(2) 方法删除第 3 个元素之后剩下了 two 和 four。list1.removeAll(list2) 语句会从 list1 中将 list1 和 list2 中相同的元素删除,即删除 two 元素

标签

上一篇:未命名

下一篇:反射

评论