源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Java集合框架之Collection接口详解

  • 时间:2020-06-15 18:25 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Java集合框架之Collection接口详解
Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架。Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)。 Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类。 [img]http://files.jb51.net/file_images/article/201612/20161222145149223.jpg?2016112214524[/img] 可以看到Collection并没有直接实现类,而是提供更具体的子接口实现。通过查询API,可以总结出Collection的基本功能。 [b]1、添加[/b] boolean add(E e):添加一个元素 boolean addAll(Collection<? extends E> c):添加一个集合的元素 示例代码
package collection;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo1 {
  public static void main(String[] args) {
    Collection collection1 = new ArrayList(); // Collection是接口,实例化其子类
    collection1.add("红楼梦");
    collection1.add("三国演义");
    System.out.println(collection1);

    Collection collection2 = new ArrayList();
    collection2.add("西游记");
    collection2.add("水浒传");

    collection1.add(collection2);
    System.out.println(collection1);
  }
}

输出结果: [红楼梦, 三国演义] [红楼梦, 三国演义, [西游记, 水浒传]] [b]2、删除 [/b]void clear():清空集合中的所有元素 boolean remove(Object o):移除指定的元素 boolean removeAll(Collection<?> c):移除一个集合的元素 示例代码
package collection;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo2 {
  public static void main(String[] args) {
    Collection collection1 = new ArrayList(); // Collection是接口,实例化其子类
    collection1.add("红楼梦");
    collection1.add("三国演义");
    collection1.add("西游记");
    collection1.add("水浒传");
    System.out.println("初始状态:" + collection1);

    boolean b1 = collection1.remove("红楼梦");
    System.out.println("是否移除了元素:" + b1);
    System.out.println("移除一个元素:" + collection1);
    System.out.println();

    Collection collection2 = new ArrayList();
    collection2.add("三国演义");
    collection2.add("西游记");
    collection2.add("平凡的世界");
    boolean b2 = collection1.removeAll(collection2); // 移除两个集合的交集,只要有一个元素被移除了,就返回true
    System.out.println("移除一个集合:" + collection1);
    System.out.println("是否移除了元素:" + b2);
    System.out.println();

    Collection collection3 = new ArrayList();
    collection3.add("平凡的世界");
    collection3.add("围城");
    boolean b3 = collection1.removeAll(collection3);// 移除两个集合的交集,只要有一个元素被移除了,就返回true
    System.out.println("移除一个集合:" + collection1);
    System.out.println("是否移除了元素:" + b3);
    System.out.println();

    collection1.clear();
    System.out.println("清除集合中的所有元素:" + collection1);
  }
}
输出结果 初始状态:[红楼梦, 三国演义, 西游记, 水浒传] 是否移除了元素:true 移除一个元素:[三国演义, 西游记, 水浒传] 移除一个集合:[水浒传] 是否移除了元素:true 移除一个集合:[水浒传] 是否移除了元素:false 清除集合中的所有元素:[] [b]3、判断 [/b] boolean contains(Object o):判断集合是否包含指定元素 boolean containsAll(Collection<?> c):判断集合是否包含指定的集合元素 boolean isEmpty():判断集合是否为空 示例代码
package collection;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo3 {
  public static void main(String[] args) {
    Collection collection1 = new ArrayList(); // Collection是接口,实例化其子类
    collection1.add("红楼梦");
    collection1.add("三国演义");
    collection1.add("西游记");
    collection1.add("水浒传");
    System.out.println("是否包含红楼梦:" + collection1.contains("红楼梦"));

    Collection collection2 = new ArrayList();
    collection2.add("三国演义");
    collection2.add("西游记");
    collection2.add("平凡的世界");
    System.out.println("是否包含一个集合中元素:" + collection1.containsAll(collection2)); // 包含所有才包含

    System.out.println("集合是否为空:" + collection1.isEmpty());
  }
}
输出结果 是否包含红楼梦:true 是否包含一个集合中元素:false 集合是否为空:false [b]4、获取长度 [/b] int size():获取集合中元素的个数 示例代码
package collection;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo4 {
  public static void main(String[] args) {
    Collection collection = new ArrayList(); // Collection是接口,实例化其子类
    collection.add("红楼梦");
    collection.add("三国演义");
    collection.add("西游记");
    collection.add("水浒传");
    System.out.println("元素个数:" + collection.size());
  }
}
输出结果 元素个数:4 [b]5、交集 [/b] boolean retainAll(Collection<?> c):保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。换句话说,移除此 collection 中未包含在指定 collection 中的所有元素。 示例代码
package collection;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo5 {
  public static void main(String[] args) {
    Collection collection1 = new ArrayList(); // Collection是接口,实例化其子类
    collection1.add("红楼梦");
    collection1.add("三国演义");
    collection1.add("西游记");
    collection1.add("水浒传");

    Collection collection2 = new ArrayList();
    collection2.add("西游记");
    collection2.add("水浒传");
    System.out.println(collection1.retainAll(collection2));
    System.out.println("collection1:" + collection1);
    System.out.println("collection2:" + collection2);

    Collection collection3 = new ArrayList();
    collection3.add("西游记");
    collection3.add("平凡的世界");
    System.out.println(collection1.retainAll(collection3));
    System.out.println("collection1: " + collection1);
    System.out.println("collection2: " + collection2);
  }
}
输出结果 true collection1:[西游记, 水浒传] collection2:[西游记, 水浒传] true collection1: [西游记] collection2: [西游记, 水浒传] 从上面结果分析得知,collection1集合与collection2集合做交集运算,最后的结果保留在collection1中,而collection2中的元素保持不变。 [b]6、集合转数组 [/b] Object[] toArray():集合转数组 示例代码
package collection;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo6 {
  public static void main(String[] args) {
    Collection collection = new ArrayList(); // Collection是接口,实例化其子类
    collection.add("红楼梦");
    collection.add("三国演义");
    collection.add("西游记");
    collection.add("水浒传");

    Object[] objects = collection.toArray();

    for (Object object : objects) {
      System.out.println(object);
    }
  }
}
输出结果: 红楼梦 三国演义 西游记 水浒传 [b]7、遍历 [/b] Iterator<E> iterator():返回在此 collection 的元素上进行迭代的迭代器,迭代器是集合特有的遍历方式 其中Iterator是一个接口,其有3个方法 boolean hasNext():如果仍有元素可以迭代,则返回 true。 E next():返回迭代的下一个元素,并移动到下一个位置。 void remove():从迭代器指向的 collection 中移除迭代器返回的最后一个元素 示例代码
package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class CollectionDemo7 {
  public static void main(String[] args) {
    Collection collection = new ArrayList(); // Collection是接口,实例化其子类
    collection.add("红楼梦");
    collection.add("三国演义");
    collection.add("西游记");
    collection.add("水浒传");

    Iterator it = collection.iterator();

    while (it.hasNext()) {
      Object object = it.next();
      System.out.println(object);
    }

    it.remove(); // 如果未调用next方法,则会抛出IllegalStateException异常
    System.out.println(collection);
  }
}
输出结果: 红楼梦 三国演义 西游记 水浒传 [红楼梦, 三国演义, 西游记] 至此,Collection接口的方法介绍完毕。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部