32Java集合------Collection接口

集合概述

  • 在实际开发中,需要将使用的对象存储于特定数据结构的容器中,JDK提供了这样的容器——集合(Collection)
  • Collection是一个接口:list和set
  • list集合的特点是元素有序可重复
  • set集合的特点是元素无序且不可重复

Collection接口

Collection接口是所有单列集合额的跟接口,因此在Collection中定义了单列集合(list和set)的一些通用方法,这些方法可用于操作所有的单列集合

方法声明 功能描述
boolean add(Object o) 向集合中添加一个元素
boolean addAll(Collection) 将指定集合c中的所有元素添加到该集合中
void clear( ) 删除该集合中的所有元素
boolean remove(Object o) 删除该集合中指定的元素
boolean removeAll(Collection c) 删除该集合中包含指定集合c中的所有元素
boolean isEmpty( ) 判断该集合是否为空
booolean contains(Object o) 判断该集合中是否包含某个元素
boolean containAll(Collection o) 判断该集合中是否包含指定集合c中的所有元素
Iterator iterator() 返回在该集合的元素上进行迭代的迭代器,用于遍历该集合所有元素
int size() 获取该集合元素个数
Stream<E> stream() 将集合源转换为有序元素的流对象
个别方法的演示
package day03;

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

/**
 * Java.util.Collection
 * 集合,用于存储一组元素。提供了维护集合的相关操作。
 * 其派生了两个子接口:
 * List:可重复集
 * Set:不可重复集
 * 元素是否重复是依靠元素自身equals方法比较的结果
 * 而定的
 * @author 
 *
 */
public class CollectionDemo1 {

	public static void main(String[] args) {
		Collection c= new ArrayList();
		/**
		 * boolean add(E e)
		 * 向集合中添加元素
		 * 当元素成功添加到集合 后返回true
		 */
		c.add("one");
		c.add("two");
		c.add("three");
		System.out.println(c);
		/**
		 * int size()
		 * 返回当前集合的元素个数
		 */
		System.out.println("size:"+c.size());
		/**
		 * boolean isEmpty()
		 * 判断当前集合是否不含有任何元素
		 * 空集合
		 */
		boolean isEmpty = c.isEmpty();
		System.out.println("是否是空集: "+isEmpty);
		/**
		 * void clear()
		 * 清空集合元素
		 */
		System.out.println("清空集合");
		c.clear();
		System.out.println("size:"+c.size());
		System.out.println("是否是空集:"+c.isEmpty());

	}

}

package day03;

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

import day02.Point;

/**
 * boolean contains(E e)
 * 判断当前集合是否包含给定元素
 * @author
 *
 */
public class CollectionDemo2 {

	public static void main(String[] args) {
		Collection c = new ArrayList();
		c.add(new Point(1,2));
		c.add(new Point(3,4));
		c.add(new Point(5,6));
		System.out.println(c);
		
		Point p = new Point(1,2);
		//c.add(p);
		/**
		 * 集合判断是否包含指定元素是依靠元素的equals
		 * 比较的结果。只要集合中由元素与给定元素比较
		 * 为true,则认为包含
		 */
		boolean contains = c.contains(p);
		System.out.println("是否包含:"+contains);
	}

}

package day03;

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

import day02.Point;

/**
 * 集合存放元素存放的是元素的引用(地址)
 * @author 
 *
 */
public class CollectionDemo3 {

	public static void main(String[] args) {
		Collection c = new ArrayList();
		Point p = new Point(1,2);
		c.add(p);
		System.out.println("p:"+p);
		System.out.println(c);//[(1,2)]
		
		p.setX(2);
		System.out.println("p:"+p);
		System.out.println(c);//[(2,2)]
		
	}

}

package day04;

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

import day02.Point;

/**
 * 删除集合元素
 * @author 
 *
 */
public class CollectionDemo1 {

	public static void main(String[] args) {
		Collection c = new ArrayList();
		c.add(new Point(1,2));
		c.add(new Point(3,4));
		c.add(new Point(5,6));
		System.out.println(c);
		
		Point p = new Point(1,2);
		/**
		 * boolean remove(E e);
		 * 从集合中删除指定元素。删除成功返回true
		 * 只删除集合总=中第一个与给定元素equals比较
		 * 为true的元素
		 */
		c.remove(p);
		System.out.println("删除完毕");
		System.out.println(c);
		

	}

}

package day04;

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

/**
 * 集合的批量操作
 * @author 
 *
 */
public class CollectionDemo2 {

	public static void main(String[] args) {
		Collection c1 = new ArrayList();
		c1.add("java");
		c1.add("C++");
		c1.add(".net");
		System.out.println(c1);
		
		Collection c2 = new HashSet();//不能放重复元素
		c2.add("ios");
		c2.add("android");
		c2.add("Linux");
		System.out.println(c2);
		
		/**
		 * 取并集
		 * boolean addAll(Collection c)
		 * 将给定集合中的所有元素添加到当前集合中
		 * 添加后只要当前集合元素数量发生了变化,则
		 * 返回true
		 */
		boolean flag = c1.addAll(c2);//将c2元素放入c1中
		System.out.println(c1);
		System.out.println(flag);
		
		
		Collection c3 = new ArrayList();
		c3.add("java");
		c3.add("android");
		//c3.add("windows");
		/**
		 * boolean containsAll(Collection c)
		 * 判断当前集合是否包含给定集合中的所有元素
		 */
		boolean contains = c1.containsAll(c3);
		System.out.println("全包含:"+contains);
		/**
		 * 从c1中删除c3中的元素
		 */
		c1.removeAll(c3);//removeAll()方法中参数为集合对象
		System.out.println(c1);

	}

}

猜你喜欢

转载自blog.csdn.net/qq_44787898/article/details/103091562
今日推荐