Collection接口中的方法

Set、List、Queue三种集合都是来自于父接口,所以C的方法可以用来操作三种集合。

boolean add(Object o):向集合中添加元素;

boolean addAll(Collection c):把集合c里所有元素添加到指定集合中;

void clear():清除集合所有元素,集合长度变成0;

boolean contains(Object o):返回该集合中是否包含指定元素;

boolean containsAll(Collectionc):返回集合中是否包含集合c里的所有元素;

boolean isEmpty():返回集合是否为空。为0返回true,否则返回false;

Iterator iterator():返回一个iterator对象,用于遍历集合里的元素;

boolean remove(Objecto):删除集合中的指定元素o,当集合中包含了一个或多个元素o时,只删除第一个符合条件的元素,返回true;

boolean removeAll(Collectionc):删除集合中符合集合c包含的所有元素(从集合中减掉集合c);

boolean retainAll(Collectionc):删除集合中集合c不包含的元素(除集合c外,其他集合都删除,与c集合的交集);

int size():返回集合中元素个数;

Object[] toArray():把集合转换成数组,所有的集合元素变成对应的数组元素;

集合是个容器,提供以上增删清空、判空方法,能够更好理解集合的作用。详细信息参考JavaAPI文档,不用生硬记牢,程序员的记忆都在手边。

示例代码:

package javaCollection;

import java.util.ArrayList;

import java.util.Collection;

import java.util.HashSet;

/**

* 操作集合方法

* @author bobo

*/

public class CollectionTest {

/*

* 操作集合方法

*/

public static void main(String[] args) {

//List

Collection b=new ArrayList();

Collection c=new ArrayList();

//添加元素add

//虽然集合中不能放基本数据类型的值,但是Java支持自动装箱;

b.add(8);

b.add("奥特曼");

c.add("小怪兽");

c.add(8);

c.add(8);

c.add(7);

c.addAll(b);

System.out.println("现在集合中有元素"+c.size()+"个");

//删除元素

c.remove(8);

System.out.println("现在集合中有元素"+c.size()+"个");

System.out.println("c集合中是否包含“小怪兽”字符串"+c.contains("小怪兽"));

System.out.println("c集合全部元素"+c);

System.out.println("=====================分割线=====================");

//Set

Collection person=new HashSet();

person.add("孙悟空");

person.add("唐三藏");

System.out.println("c集合是否包含person集合?"+c.containsAll(person));

person.add("小怪兽");

c.removeAll(person);

System.out.println("c集合全部元素"+c);

System.out.println("=====================分割线=====================");

c.clear();//清空,长度变为0

System.out.println("c集合全部元素"+c);

//元素的交集

c.add("小怪兽");

c.add(8);

c.add(8);

c.add(7);

person.add("小怪兽");

person.add("孙悟空");

person.add("唐三藏");

person.retainAll(c);//person集合和c集合的交集

System.out.println("person集合的元素"+person);

}

}

操作集合:

c集合是ArrayList,Person是HashSet,虽然实现类不同,但是都当成Collection来使用

最后的结果如下:

java j集合_疯狂Java系列之j集合类相关推荐

  1. java 二叉树特点_疯狂java笔记之树和二叉树

    树的概述 树是一种非常常用的数据结构,树与前面介绍的线性表,栈,队列等线性结构不同,树是一种非线性结构 1.树的定义和基本术语 计算机世界里的树,是从自然界中实际的树抽象而来的,它指的是N个有父子关系 ...

  2. java 并发集合_《Java 7并发编程实战手册》第六章并发集合

    由人民邮电出版社出版的<Java 7并发编程实战手册>终于出版了,译者是俞黎敏和申绍勇,该书将于近期上架.之前并发编程网组织翻译过此书,由于邮电出版社在并发网联系他们之前就找到了译者,所以 ...

  3. 疯狂java讲义价格_疯狂java讲义

    封装: 封装:将对象状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是用类所提供的方法访问和操作. 访问控制符:private(当前类访问权) ,protected(子类访问),publ ...

  4. java弹球游戏代码_疯狂java实战演义 弹球游戏代码

    1 packageorg.crazyit.ball;2 3 importjava.awt.event.KeyEvent;4 importjava.awt.Image;5 importjava.awt. ...

  5. 疯狂java讲义视频百度网盘_疯狂Java讲义(4)配书视频-百度云

    [疯狂Java讲义(4)配书视频]由分享人菜**飞5于-03-1522:21上传到百度网盘.此页面由蜘蛛程序自动抓取,以非人工方式自动生成,只作交流和学习使用.本网站本身不储存任何资源文件,其资源文件 ...

  6. java 秒杀多线程_秒杀多线程系列 - 随笔分类 - Joyfulmath - 博客园

    随笔分类 - 秒杀多线程系列 秒杀多线程系列,该系列转载至CSDN MoreWindows: http://blog.csdn.net/morewindows/article/details/7392 ...

  7. java array缓存_有java数组

    [JAVA零基础入门系列]Day10 Java中的数组 [JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 D ...

  8. java获取长度_获取java长度

    Java获取本机MAC地址 为什么写这个呢?因为前几天看见网上有采用windows命令获取局域网和广域网MAC,查了查可以直接用JDK的方法. MAC可用于局域网验证,提高安全性. import ja ...

  9. java 数据结构实例_数据结构(Java)——栈的实例

    惟大英雄能本色,是真名士自风流 --易中天(百家讲坛) 1.表达式的转换 1.1 中缀表达式转前缀表达式 中缀表达式转前缀表达式有许多的方式,有加括号去除法.语法树遍历法.堆栈处理法1. 测试程序的实 ...

最新文章

  1. Java高并发之设计模式,设计思想
  2. mysql游标循环的使用
  3. shell 读取文件
  4. CountDownLatch 的使用 || enum 枚举使用的小技巧
  5. 如何使用Maven的archetype快速生成一个新项目(解决生成项目目录不完整问题)...
  6. 使用Java泛型的模板方法模式示例
  7. 中油即时通信电脑版_市场营销之即时通讯营销
  8. pixel1代android11,Pixel用户吐槽Android 11:升级后性能被劣化
  9. linux命令大全文档,LINUX命令大全文档
  10. nodejs-ORM 框架 waterline和Sails
  11. 关于web中的自适应布局
  12. 论Web App、Hybrid App、Native App三类主流APP设计差异
  13. 一次局域网入侵全过程
  14. 将淘宝客数据导入自己的数据库
  15. squid笔记下载_Squid笔记
  16. (初学者视角)二极管和三极管的工作原理
  17. Android4.4电池管理
  18. Java实现就诊排队叫号系统(使用ArrayList集合实现)
  19. 剑指offer刷题记录(上)
  20. kaggle比赛【Riiid! Answer Correctness Prediction】

热门文章

  1. ucsb计算机专业排名,UCSB计算机科学类专业排名,真实信息重点解读
  2. [吐槽]] 一句三不知
  3. 数学建模美赛常见模型
  4. 5.1[潜心创作]逃跑吧少年·追击游戏
  5. 基于STM32的正点原子LORA模块通信网络
  6. mysql的msi是什么_mysql安装(msi方式)
  7. Android原生GPS定位以及位置解析
  8. linux mint 17 升级,如何从Linux Mint 17.3升级到Linux Mint 18
  9. 对于求职的一些个人看法及总结
  10. C/C++文件读写操作——FILE*、fstream