【Java学习笔记】Collection接口的常用方法

目录

1.Collection接口概述

2.Collection的功能概述

2.1 添加功能

2.2 删除功能

2.3 判断功能

2.4 获取功能

2.5 长度功能

2.6 交集功能

2.7 把集合转换为数组

3.Collection案例

3.1 存储字符串并遍历

3.2 存储自定义对象并遍历


1.Collection接口概述

Collection是集合的顶层接口,Collection 表示一组对象,这些对象也称为Collection的元素。一些Collection允许有重复的元素,而另一些则不允许。一些collection是有序的,而另一些则是无序的。

2.Collection的功能概述

2.1 添加功能

  • boolean add(Object obj):添加一个元素
  • boolean addAll(Collection c):添加一个集合的元素

2.2 删除功能

  • void clear():移除所有元素
  • boolean remove(Object obj):移除一个元素
  • boolean removeAll(Collection c):移除一个集合的元素

2.3 判断功能

  • boolean contains(Object obj):判断集合中是否包含指定的元素
  • boolean containsAll(Collection c):判断集合中是否包含指定的集合元素
  • boolean isEmpty():判断集合是否为空

2.4 获取功能

  • Iterator<E> iterator():迭代器,集合的专用遍历方式

Iterator接口的成员方法:

  • boolean hasNext():判断当前游标是否有下一个元素。
  • Object next():获取元素,并移动到下一个位置。
package com.hw.collection;

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

/**
 * Iterator iterator():迭代器,集合的专用遍历方式
 * 		boolean hasNext():判断当前游标是否有下一个元素。
 * 		Object next():获取元素,并移动到下一个位置。
 * 
 * @author HW
 *
 */
public class CollectionDemo3 {
	public static void main(String[] args) {
		// 创建集合对象
		Collection<String> c = new ArrayList<String>();
		// 添加元素
		c.add("Hello");
		c.add("World");
		c.add("JavaSE");
		
		// 通过集合对象获取迭代器对象
		Iterator<String> it = c.iterator();
		// 通过迭代器对象的hasNext()方法判断是否有元素
		while (it.hasNext()) {
			// 通过迭代器对象的next()方法获取元素,并移动到下一个位置
			System.out.println(it.next());
		}
	}
}

2.5 长度功能

  • int size():元素的个数

2.6 交集功能

  • boolean retainAll(Collection c):两个集合都有的元素

具体用法,参考以下代码:

// 创建集合对象c1
Collection<String> c1 = new ArrayList<String>();
// 添加元素
c1.add("abc1");
c1.add("abc2");
c1.add("abc3");
		
// 创建集合对象c2
Collection<String> c2 = new ArrayList<String>();
// 添加元素
c2.add("abc1");
c2.add("abc2");
c2.add("abc3");
c2.add("abc4");
		
/*
 * c1对c2做交集,最终的结果保存在c1中,c2不变
 * retainAll()返回值表示的是c1是否发生改变
 */
System.out.println("c1.retainAll(c2):" + c1.retainAll(c2));
System.out.println(c1);
System.out.println(c2);
		
System.out.println("=========================");
		
/*
 * c2对c1做交集,最终的结果保存在c2中,c1保持不变
 * retainAll()返回值表示的是c2是否发生改变
 */
System.out.println("c2.retainAll(c1):" + c2.retainAll(c1));
System.out.println(c1);
System.out.println(c2);

运行结果如下:

c1.retainAll(c2):false
[abc1, abc2, abc3]
[abc1, abc2, abc3, abc4]
=========================
c2.retainAll(c1):true
[abc1, abc2, abc3]
[abc1, abc2, abc3]

2.7 把集合转换为数组

  • Object toArray():把集合转换为数组,可以实现集合的遍历

具体用法可以参考以下代码:

// 创建集合对象
Collection<String> c = new ArrayList<String>();
// 添加元素
c.add("Hello");
c.add("World");
c.add("JavaSE");
		
// 把集合转换成数组
Object[] objs = c.toArray();
for (Object obj : objs) {
	String str = (String) obj;
	System.out.println(str + "---" + str.length());
}

3.Collection案例

3.1 存储字符串并遍历

分析步骤:

  • 创建集合对象
  • 添加元素
  • 遍历集合
    • 通过集合对象获取迭代器对象
    • 通过迭代器对象的hasNext()方法判断是否有元素
    • 通过迭代器对象的next()方法获取元素,并移动到下一个位置

代码如下:

package com.hw.collection;

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

/**
 * 存储字符串并遍历
 * 
 * @author HW
 * 
 */
public class CollectionTest {
	public static void main(String[] args) {
		// 创建集合对象
		Collection<String> c = new ArrayList<String>();
		// 添加元素
		c.add("Jmeter");
		c.add("Selenium");
		c.add("AirTest");

		// 通过集合对象获取迭代器对象
		Iterator<String> it = c.iterator();
		// 通过迭代器对象的hasNext()方法判断是否有元素
		while (it.hasNext()) {
			System.out.println(it.next());
		}
	}
}

3.2 存储自定义对象并遍历

  • Student(name, age)

分析步骤:

  • 创建集合对象
  • 创建学生对象
  • 把学生对象添加到集合对象中
  • 遍历集合
    • 通过集合对象获取迭代器对象
    • 通过迭代器对象的hasNext()方法判断是否有元素
    • 通过迭代器对象的next()方法获取元素,并移动到下一个位置

代码如下:

package com.hw.collection;

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

/**
 * 存储自定义对象并遍历
 * 
 * @author HW
 * 
 */
public class CollectionTest2 {
	public static void main(String[] args) {
		// 创集合对象
		Collection<Student> c = new ArrayList<Student>();

		// 创建学生对象
		Student s1 = new Student("貂蝉", 25);
		Student s2 = new Student("小乔", 16);
		Student s3 = new Student("黄月英", 20);
		Student s4 = new Student();
		s4.setName("西施");
		s4.setAge(23);

		// 把学生对象添加到集合中
		c.add(s1);
		c.add(s2);
		c.add(s3);
		c.add(s4);
		// 匿名对象
		c.add(new Student("杨贵妃", 18));

		// 遍历集合
		// 通过集合对象获取迭代器对象
		Iterator<Student> it = c.iterator();
		// 通过迭代器对象的hasNext()方法判断是否有元素
		while (it.hasNext()) {
			// 通过迭代器对象的next()方法获取元素,并移动到下一个位置
			Student s = it.next();
			System.out.println(s.getName() + "---" + s.getAge());
		}
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_44679832/article/details/105447924