全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java集合框架之Collection接口详解

Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架。Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)。

Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类。

可以看到Collection并没有直接实现类,而是提供更具体的子接口实现。通过查询API,可以总结出Collection的基本功能。

1、添加

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);
  }
}

输出结果:

[红楼梦, 三国演义]
[红楼梦, 三国演义, [西游记, 水浒传]]

2、删除
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

清除集合中的所有元素:[]

3、判断

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

4、获取长度

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

5、交集

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中的元素保持不变。

6、集合转数组

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);
    }
  }
}

输出结果:

红楼梦
三国演义
西游记
水浒传

7、遍历

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接口的方法介绍完毕。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Java  # 集合框架  # Collection  # java集合框架的体系结构详细说明  # JAVA集合框架Map特性及实例解析  # 深入理解Java基础中的集合框架  # 水浒传  # 西游记  # 红楼梦  # 移除  # 子类  # 迭代  # 为空  # 遍历  # 是一个  # 类库  # 转数  # 包含了  # 只要有  # 在此  # 这两个  # 数据结构  # 工具包  # 可以看到  # 而出  # 可选 


相关文章: 南宁网站建设制作定制,南宁网站建设可以定制吗?  如何快速登录WAP自助建站平台?  微课制作网站有哪些,微课网怎么进?  建站与域名管理如何高效结合?  建站之星安装后如何配置SEO及设计样式?  如何配置FTP站点权限与安全设置?  简单实现Android验证码  如何用PHP快速搭建CMS系统?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  实例解析Array和String方法  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  建站之星官网登录失败?如何快速解决?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  黑客入侵网站服务器的常见手法有哪些?  建站VPS能否同时实现高效与安全翻墙?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  如何在服务器上配置二级域名建站?  焦点电影公司作品,电影焦点结局是什么?  一键网站制作软件,义乌购一件代发流程?  如何在阿里云香港服务器快速搭建网站?  建站org新手必看:2024最新搭建流程与模板选择技巧  网站图片在线制作软件,怎么在图片上做链接?  制作旅游网站html,怎样注册旅游网站?  建站之星后台密码遗忘?如何快速找回?  建站之星安装提示数据库无法连接如何解决?  制作电商网页,电商供应链怎么做?  平台云上自主建站:模板化设计与智能工具打造高效网站  如何挑选高效建站主机与优质域名?  香港服务器选型指南:免备案配置与高效建站方案解析  在线教育网站制作平台,山西立德教育官网?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  建站之星安装步骤有哪些常见问题?  魔方云NAT建站如何实现端口转发?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  北京的网站制作公司有哪些,哪个视频网站最好?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  建站主机选购指南:核心配置与性价比推荐解析  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  如何解决ASP生成WAP建站中文乱码问题?  C++时间戳转换成日期时间的步骤和示例代码  ,如何利用word制作宣传手册?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  建站主机是否等同于虚拟主机?  网站制作价目表怎么做,珍爱网婚介费用多少?  高端建站如何打造兼具美学与转化的品牌官网? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。