Collection中的基本方法

Collection接口

Collection是最基本的集合接口!

该接口定义了集合框架中最共性的功能!

最终使用的时候,其实使用的是该框架最子类的对象!

下面挨个探讨一下Collection接口中的基本方法:

1、添加方法:

方法a:  boolean add(object e);  一次添加一个元素

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

public class Main_one {
	public static void main(String[] args)
	{
		Collection coll=new ArrayList();
		collectionDemo(coll);
	}
	public static void collectionDemo(Collection coll)
	{
		// 导包快捷键:ctrl+shift+o
		// 1、添加元素
		coll.add("abc1");
		coll.add("abc2");
		coll.add("abc3");
		System.out.println(coll);
	}
}

方法b: boolean addAll(Collection c);   将一个参数容器中的元素添加到当前容器中

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

public class Main_one {
	public static void main(String[] args)
	{
		// Collection中带All的方法
		Collection c1=new ArrayList();
		Collection c2=new ArrayList();
		collectionAllDemo(c1,c2);
	}
	// Collection中带All的方法的实现
	public static void collectionAllDemo(Collection c1,Collection c2)
	{
		// 给这两个集合中存储一些元素
		c1.add("abcd1");
		c1.add("abcd2");
		c1.add("abcd3");
		c1.add("abcd4");
		c1.add("abcd5");

		c2.add("abcd3");
		c2.add("abcd4");
		c2.add("abcd6");

		System.out.println(c1);
		// 输出的是[abcd1, abcd2, abcd3, abcd4, abcd5]

		// 把c2中的元素添加到c1中
		c1.addAll(c2);
		System.out.println(c1);
		// 输出的是[abcd1, abcd2, abcd3, abcd4, abcd5, abcd3, abcd4, abcd6]
	}
}

2、删除方法:

方法a:  boolean remove(object e);   删除一个指定对象

                // 2、删除元素
		coll.remove("abc2");
		System.out.println(coll);
		// 输出的是[abc1, abc3]

方法b: boolean removeAll(Collection c);删除指定的Collection中和本Collection中相同的元素

                // 将c1中与c2相同的元素删除
		c1.removeAll(c2);
		System.out.println(c1);
		// 输出结果是[abcd1, abcd2, abcd5]

方法c:void clear();直接将集合中的元素清空

               // 3、清空元素
		coll.clear();
		System.out.println(coll);
		// 输出的是[]

3、判断方法:

方法a: boolean contains(object e);  是否包含指定元素

                // 4、判断是否包含指定元素
		Boolean b=coll.contains("abc1");
		System.out.println("b="+b);
		// 输出的是b=true
		Boolean d=coll.contains("abc2");
		System.out.println("d="+d);
		// 输出的是d=false

方法b:boolean containsAll(Collection c); 是否包含指定容器中的元素

		// 3、判断是否包含指定容器中的元素
		Boolean b=c1.containsAll(c2);
		System.out.println("b="+b);
		// 输出的是b=true

方法c:Boolean isEmpty();  判断是否有元素

		// 5、判断是否元素
		Boolean m=coll.isEmpty();
		System.out.println("m="+m);
		// 输出的是m=true: 表示没有元素

4、获取元素个数的方法:

int size(); 获取元素的个数

                // 获取元素的个数
		System.out.println("size="+c1.size());
		// 输出的是size=8

5、取交集的方法:

Boolean retainAll(Collection c);保留和指定collection集合中相同的元素,不相同的元素会被删除

                // 5、 取交集方法
		c1.retainAll(c2);  // 将c1中与c2中相同的元素保留,其余的删除
		System.out.println(c1);
		// 输出的是[abcd3, abcd4]

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

public class Main_one {
	public static void main(String[] args)
	{
		Collection coll=new ArrayList();
		collectionDemo(coll);

		// Collection中带All的方法
		Collection c1=new ArrayList();
		Collection c2=new ArrayList();
		collectionAllDemo(c1,c2);
	}
	public static void collectionDemo(Collection coll)
	{
		// 导包快捷键:ctrl+shift+o
		// 1、添加元素
		coll.add("abc1");
		coll.add("abc2");
		coll.add("abc3");
		System.out.println(coll);
		// 输出的是   [abc1, abc2, abc3]

		// 2、删除元素
		coll.remove("abc2");
		System.out.println(coll);
		// 输出的是[abc1, abc3]

		// 4、判断是否包含指定元素
		Boolean b=coll.contains("abc1");
		System.out.println("b="+b);
		// 输出的是b=true
		Boolean d=coll.contains("abc2");
		System.out.println("d="+d);
		// 输出的是d=false

		// 3、清空元素
		coll.clear();
		System.out.println(coll);
		// 输出的是[]	

		// 5、判断是否元素
		Boolean m=coll.isEmpty();
		System.out.println("m="+m);
		// 输出的是m=true: 表示没有元素
	}

	// Collection中带All的方法的实现
	public static void collectionAllDemo(Collection c1,Collection c2)
	{
		// 1、给这两个集合中存储一些元素
		c1.add("abcd1");
		c1.add("abcd2");
		c1.add("abcd3");
		c1.add("abcd4");
		c1.add("abcd5");

		c2.add("abcd3");
		c2.add("abcd4");
		c2.add("abcd6");

		System.out.println(c1);
		// 输出的是[abcd1, abcd2, abcd3, abcd4, abcd5]

		// 5、 取交集方法
		c1.retainAll(c2);
		System.out.println(c1);
		// 输出的是

		// 2、把c2中的元素添加到c1中
		c1.addAll(c2);
		System.out.println(c1);
		// 输出的是[abcd1, abcd2, abcd3, abcd4, abcd5, abcd3, abcd4, abcd6]

		// 获取元素的个数
		System.out.println("size="+c1.size());
		// 输出的是size=8

		// 3、判断是否包含指定容器中的元素
		Boolean b=c1.containsAll(c2);
		System.out.println("b="+b);
		// 输出的是b=true

		// 4、将c1中与c2相同的元素删除
		c1.removeAll(c2);
		System.out.println(c1);
		// 输出结果是[abcd1, abcd2, abcd5]

	}
}

Collection中的基本方法

时间: 2024-10-12 19:27:01

Collection中的基本方法的相关文章

collection中的remove方法

import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class CollectionTest03 { /** boolean remove(Object o); remove和contains方法都需要集合中的元素重写equals方法. 因为Object中的equals方法比较内存地址,在现实的业务逻辑当中 不能比较内存地址,该比较内容. */ public stat

集合中list、ArrayList、LinkedList、Vector的区别、Collection接口的共性方法以及数据结构的总结

List (链表|线性表) 特点: 接口,可存放重复元素,元素存取是有序的,允许在指定位置插入元素,并通过索引来访问元素 1.创建一个用指定可视行数初始化的新滚动列表.默认情况下,不允许进行多项选择. 注意,这是 List(rows, false) 的一种便捷方法.还要注意,列表中的可视行数一旦创建就不能更改. public List(int rows)------------------row-----要显示的项数 2.创建一个初始化为显示指定行数的新滚动列表. 注意,如果指定了零行,则会按默

Java Collection集合中的iterator方法

Iterator接口的概述 /** * java.util.Iterator接口:选代器(对集合进行遍历) * 有两个常用的方法 * boolean hasNext() * 如果仍有元素可以迭代,则返回true. * 即判断集合中还有没有下ー个元素,有就返回true,没有就返回 false * E next() * 返回送代的下一个元素. * 即取出集合中的下一个元素 * iterator迭代器,是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象. * 获取实现类的方式比较特

java集合中的retainAll方法

import java.util.ArrayList; public class RetainAllDemo { public static boolean compare(int[] arr1,int[] arr2){ ArrayList<Integer> list1=new ArrayList<>(); ArrayList<Integer> list2=new ArrayList<>(); for(int a:arr1){ list1.add(a); }

Java8接口中的默认方法

Java8新增特性,可以为接口中添加默认方法,实现这个接口的所有类都会继承这个方法,这样看起来,接口和类的界限就有点不明显了,同时也会带来多继承,菱形问题.这样设计的初衷是什么? 重所周知,java8开始支持lambda表达式,可以把函数当做参数传递,最明显的lambda表达式应用场景莫过于对collection的每一个元素应用lambda.如果想为Collection实现lambda表达式:list.forEach(…); // 这就是lambda代码 首先想到的是为Collection的父接

在含有null值的复杂类的集合(Collection)中取最大值

在日常编程中,经常遇到要在一组复杂类的集合(Collection)中做比较.取最大值或最小值. 举个最简单的例子,我们要在一个如下结构的集合中选取包含最大值的元素: public class Class<T> where T : struct { public T? Value { get; set; } } var ints = new List<Class<int>>() { new Class<int>() { Value = 2 }, new Cla

java中的默认方法

在[0.3.1 Java简介]中,有这么一段话:“请注意:Java并非作为教学语言设计的.世界各地的大学在讲授Java的过程中均遇到一些教学上的困难(如Java语言和API的快速升级),这些困难是计算机科学教育中一般性的挑战.” Java8中引入的默认方法,充分展示了Java平台概念的一致性与JDK向前兼容之间的矛盾,而且以牺牲概念的一致性而满足JDK向前兼容. 1.理想与现实 [曾经]Java接口纯粹是契约的集合,是一种程序设计的表达方式.从数据抽象的角度看,能够在不定义class的同时又可以

有关collection中的一些数据结构

Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同的元素而另一些不行.一些能排序而另一些不行.Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set. 所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collectio

源码浅谈(一):java中的 toString()方法

前言: toString()方法 相信大家都用到过,一般用于以字符串的形式返回对象的相关数据. 最近项目中需要对一个ArrayList<ArrayList<Integer>> datas  形式的集合处理. 处理要求把集合数据转换成字符串形式,格式为 :子集合1数据+"#"+子集合2数据+"#"+....+子集合n数据. 举例: 集合数据 :[[1,2,3],[2,3,5]]  要求转成为 "[1,2,3]#[2,3,5]"