一.API图示

二.常用方法

0.构造函数

// Collection c = new Collection(); //错误,因为接口不能实例化

Collection c = new ArrayList();//ArrayList是Collection下的一个子类

1.添加功能

boolean add(Object obj)

添加一个元素

boolean addAll(Collection c)

添加一个集合的元素

示例1:

Collection c = new ArrayList();

System.out.println("add:"+c.add("hello"));//true,add这个方法永远返回true

示例2:添加一个集合

// 创建集合1

Collection c1 = new ArrayList();

c1.add("abc1");

c1.add("abc2");

// 创建集合2

Collection c2 = new ArrayList();

c2.add("abc1");

c2.add("abc2");

// boolean addAll(Collection c):添加一个集合的元素

System.out.println("addAll:" + c1.addAll(c2));//将c2内的所有元素添加到c1里面

2:删除功能

void clear()

移除所有元素

boolean remove(Object o)

移除一个元素

boolean removeAll(Collection c)

移除一个集合的元素(是一个还是所有)

示例1:

System.out.println("remove:" + c.remove("hello"));

示例2:移除一个集合

//只要有一个元素被移除了,就返回true。

System.out.println("removeAll:"+c1.removeAll(c2));

3:判断功能

boolean contains(Object o)

判断集合中是否包含指定的元素

boolean containsAll(Collection c)

判断集合中是否包含指定的集合元素(是一个还是所有)

boolean isEmpty()

判断集合是否为空

示例1:

示例2:

//只有包含所有的元素,才叫包含

System.out.println("containsAll:"+c1.containsAll(c2));

4:获取功能:迭代器的详细使用方法:迭代器(Iterator)

Iterator<E> iterator()(重点)

(1)在迭代器下的专用方法:

1)Object next():获取元素,并移动到下一个位置。

2)boolean hasNext():如果仍有元素可以迭代,则返回 true。

(2)可能出现的异常

NoSuchElementException:没有这样的元素,因为你已经找到最后了。

5:长度功能

int size()

元素的个数

6:交集功能

boolean retainAll(Collection c)

两个集合都有的元素?思考元素去哪了,返回的boolean又是什么意思呢?

示例:

//假设有两个集合A,B。

//A对B做交集,最终的结果保存在A中,B不变。

//返回值表示的是A是否发生过改变。

System.out.println("retainAll:"+c1.retainAll(c2));

7:把集合转换为数组

Object[] toArray()

三.迭代器(Iterator)

1.以图会友

2.集合的普通遍历

/**

* 集合的遍历。其实就是依次获取集合中的每一个元素。

* Object[] toArray():把集合转成数组,可以实现集合的遍历

*/

public class CollectionDemo3 {

public static void main(String[] args) {

// 创建集合对象

Collection c = new ArrayList();

// 添加元素

c.add("hello"); // Object obj = "hello"; 向上转型

// Object[] toArray():把集合转成数组,可以实现集合的遍历

Object[] objs = c.toArray();

for (int x = 0; x < objs.length; x++) {

// 我知道元素是字符串,我在获取到元素的的同时,还想知道元素的长度。

// System.out.println(objs[x] + "---" + objs[x].length());

// 上面的实现不了,原因是Object中没有length()方法

// 我们要想使用字符串的方法,就必须把元素还原成字符串

// 向下转型

String s = (String) objs[x];

System.out.println(s + "---" + s.length());

}

}

}

3.升级--迭代器遍历

//Iterator iterator():迭代器,集合的专用遍历方式

public class IteratorDemo {

public static void main(String[] args) {

// 创建集合对象

Collection c = new ArrayList();

// 创建并添加元素

c.add("hello");

Iterator it = c.iterator(); // iterator()实际返回的肯定是子类对象,这里是多态

// 判断是否有下一个元素,有就获取,没有就不搭理它

while (it.hasNext()) {

// System.out.println(it.next());第一种方式

String s = (String) it.next();//第二种,将it强转为String输出

System.out.println(s);

}

}

}

四.遍历练习

/**

* 问题1:能用while循环写这个程序,我能不能用for循环呢?

* 问题2:不要多次使用it.next()方法,因为每次使用都是访问一个对象。

*/

public class IteratorTest2 {

public static void main(String[] args) {

// 创建集合对象

Collection c = new ArrayList();

// 创建学生对象

Student s1 = new Student("林青霞", 27);

Student s2 = new Student("风清扬", 30);

// 把学生添加到集合中

c.add(s1);

c.add(s2);

// 遍历

Iterator it = c.iterator();

while (it.hasNext()) {

Student s = (Student) it.next();

System.out.println(s.getName() + "---" + s.getAge());

// NoSuchElementException 不要多次使用it.next()方法,因为在一条语句中多次使用next()方法,每一次调用都会跳转到下个元素

// System.out.println(((Student) it.next()).getName() + "---" + ((Student) it.next()).getAge());

}

// for循环改写,这样做效率高,因为将it定义在了for里面,循环结束后,变量立刻销毁

// for(Iterator it = c.iterator();it.hasNext();){

// Student s = (Student) it.next();

// System.out.println(s.getName() + "---" + s.getAge());

// }

}

}

//上例使用到的Students类

public class Student {

private String name;

private int age;

public Student() {

super();

}

public Student(String name, int age) {

super();

this.name = name;

this.age = age;

}

//get,set略

@Override

public String toString() {

return "Student [name=" + name + ", age=" + age + "]";

}

}

相关面试题:

1.数组有没有length()方法呢?字符串有没有length()方法呢?集合有没有length()方法呢?

2.Collection和Collections的区别?

Collection:是单列集合的顶层接口,有子接口List和Set;

Collections:是针对集合操作的工具类,有对集合进行排序和二分查找的方;

Java基础--Collection方法相关推荐

  1. Java基础学习——方法

    Java基础学习--方法 前言 本文将介绍有关Java面向对象编程的知识之一:方法:其中包括方法的概念,三类方法的格式.方法的重载以及方法的内存 方法的概念 方法是程序中最小的执行单元 方法定义:将一 ...

  2. java中collection方法_Java 8中的Collector toCollection()方法

    toCollection()Java中的Collector类的方法返回一个Collector,该Collector以遇到的顺序将输入元素累积到一个新的Collection中. 语法如下static & ...

  3. Java基础02 方法与数据成员

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在Java基础01 从HelloWorld到面向对象,我们初步了解了对象(obje ...

  4. JAVA基础——toString()方法,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  5. Java 基础 Collection集合

    package cn.itcast.demoDateformat;import java.util.ArrayList; import java.util.Collection;/* * List接口 ...

  6. Java 基础 Collection集合拓展

    package cn.itcast.demoDateformat;import java.util.ArrayList; import java.util.Collection; import jav ...

  7. Java基础 五 方法

    方法 1.1      方法概述 在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法. 如:小明同学在路边准备坐车来学校学习.这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢 ...

  8. Java基础语法——方法

    每日正能量 人生如逆旅,我亦是行人,乱花渐欲迷人眼,沉醉不知归路.既然无法留住身边的美好,那就一直往前,看到更多. 方法 方法是完成特定功能的.相对独立的程序段,与其它编程语言中的子程序.函数等概念相 ...

  9. Java基础-Collection集合接口(List及Set)

    Collection集合接口 1.Collection接口的常用方法 2.Collection集合迭代 3.contains方法解析 4.集合中元素的删除 5.List接口的特有方法 6.Set接口 ...

最新文章

  1. 在用虚拟机做Windows Server 2008 R2实验时应注意的问题
  2. ProgressDialog知识要点
  3. 计算机usb共享网络泄密,杜绝USB泄密 MyUSBOnly
  4. 使用AutoMapper 处理DTO数据对象的转换
  5. 朝鲜时蔬(分数据点写算法+毒瘤数学)
  6. 提高你的javascript代码逼格系列之函数与数组
  7. 智能关机软件 c语言,智能关机软件
  8. python 并列条形图_python – 来自两个pandas数据框的分组条形图
  9. Hello TensorFlow
  10. java歌词高亮显示滚动_js如何处理音乐播放器的歌词文件达到高亮以及滚动的效果?...
  11. jq 实现头像(气泡式浮动)
  12. 论文查重率多少合格?
  13. ucosii等待信号量函数中pend前后怎样执行
  14. XML格式化在线工具
  15. 2020计算机考研初试考试先后顺序,2020考研初试考试时间及科目安排
  16. 解决linux“嘟嘟”的报警声
  17. 论文阅读9 | COCAS:一个大规模换装的行人重识别数据集
  18. 数据可视化优秀作品欣赏
  19. 网站刷关键词_如何提升网站关键词及长尾词的排名 - 百度排名提升软件
  20. 2008年度LINUX与UNIX SHELL编程指北系列大片

热门文章

  1. 阿里云服务器购买帮助说明文档
  2. jsp 中div居中_JSP如何设置居中
  3. 【跟我学apache-commons】【四】commons-io的使用
  4. java程序员面试交流项目经验
  5. CSDN新版博客排名规则公示
  6. OpenStack概述
  7. Linux 设备驱动中的阻塞与非阻塞 I/O
  8. 等比例缩放图片并填充图片为正方形(python附代码)
  9. 938公交围堵事件调查结果原起北京公交降价
  10. AI创业公司招聘需求