集合框架(一)-------Collection

一、集合的由来

 * 集合的由来:

 *    我们学习的是面向兑现语言。而面向对象语言对事物的描述又是通过对象体现的。
 *    为了方便对多个对象进行操作,我们必须把这个对象进行存储。
 *    而要存储多个对象就不能是一个基本的变量,而应该是一个容器类型的变量。
 *    在我们以前所学的知识里,有哪些是容器类型的呢?数组和StringBuffer
 *    但是stringbuffer的结果是一个字符创,不一定满足我们的要求,所有我们选择
 *    数组这就是对象数组。而对象数组又不能适应变化的需求,因为数组的长度是固定的。

 *    这个时候为了适应变化的需求,Java就提供了集合类供我们使用。

二、collection接口

*collect的概述     

 *    collection层次结构的跟接口。collect表示一组对象,这些对象也称为collect的元素。一些collection允许有重复的元素  

 *    一些collect不允许有重复的元素,一些collect是有序,而另一些是无序的

*collect接口的成员方法 
 *    collection层次结构的跟接口。collect表示一组对象,这些对象也称为collect的元素。一些collection允许有重复的元素  
 *    一些collect不允许有重复的元素,一些collect是有序,而另一些是无序的

 *collect的功能
 *    1.添加功能
 *            boolean add(E e):添加一个元素
 *            boolean addAll(Collection<? extends E> c):添加一个容器的元素
 *    2.删除功能
 *            boolean remove(Object o):移除一个元素
 *            boolean removeAll(Collection<?> c):移除一个集合的元素
 *            void clear():移除所有元素
 *    3.判断功能
 *          boolean contains(Object o)
 *            boolean containsAll(Collection<?> c)
 *            boolean isEmpty()
 *    4.获取功能
 *            Iterator<E> iterator()
 *    5.长度功能
 *            int size():元素的个数
 *    6.交集功能
 *            boolean retainAll(Collection<?> c):两个集合都有的元素
        
 *    7.把集合转化为数组
 *            Object[] toArray()

 *            <T> T[] toArray(T[] a)

package cn.itcast_01;

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

/**
 * 集合的由来:
 *    我们学习的是面向兑现语言。而面向对象语言对事物的描述又是通过对象体现的。
 *    为了方便对多个对象进行操作,我们必须把这个对象进行存储。
 *    而要存储多个对象就不能是一个基本的变量,而应该是一个容器类型的变量。
 *    在我们以前所学的知识里,有哪些是容器类型的呢?数组和StringBuffer
 *    但是stringbuffer的结果是一个字符创,不一定满足我们的要求,所有我们选择
 *    数组这就是对象数组。而对象数组又不能适应变化的需求,因为数组的长度是固定的。
 *    这个时候为了适应变化的需求,Java就提供了集合类供我们使用。
 *    
 *数组和集合的区别:
 *    A.长度区别。 数组的长度是固定的,集合的长度是可变的。
 *    B.内容不同。数组存储的是同一类型的元素,集合可以存储不同类型的元素
 *    C.元素的数据类型问题。数组可以存储基本数据类型,也可以存储引用数据类型
 *      集合只能存储引用数据类型。
 *collect的概述     
 *    collection层次结构的跟接口。collect表示一组对象,这些对象也称为collect的元素。一些collection允许有重复的元素  
 *    一些collect不允许有重复的元素,一些collect是有序,而另一些是无序的
 *    
 *collect的功能
 *    1.添加功能
 *    		boolean add(E e):添加一个元素
 *    		boolean addAll(Collection<? extends E> c):添加一个容器的元素
 *    2.删除功能
 *    		boolean remove(Object o):移除一个元素
 *    		boolean removeAll(Collection<?> c):移除一个集合的元素
 *    		void clear():移除所有元素
 *    3.判断功能
 *          boolean contains(Object o)
 *    		boolean containsAll(Collection<?> c)
 *    		boolean isEmpty()
 *    4.获取功能
 *    		Iterator<E> iterator()
 *    5.长度功能
 *    		int size():元素的个数
 *    6.交集功能
 *    		boolean retainAll(Collection<?> c):两个集合都有的元素
		
 *    7.把集合转化为数组
 *    		Object[] toArray()
 *    		<T> T[] toArray(T[] a)
 *    
 *
 * @author jack
 *
 */

public class CollectionDemo_01 {

	public static void main(String[] args) {
		//测试不带all的
		//创建集合对象
		//Collection c=new Collection() //错误,接口不能实例化
		Collection c=new ArrayList();
		System.out.println("0:"+c);
		
		//boolean add(E e):添加一个元素
		//System.out.println("c--add="+c.add("hello"));
		
		c.add("张三");
		c.add("李四");
		c.add("王五");
		System.out.println("1:"+c);
		
		//void clear():移除所有元素
		//c.clear();
		
		//boolean remove(Object o):移除一个元素
		
		System.out.println("remove--李四"+c.remove("李四"));
		System.out.println("remove--赵六"+c.remove("赵六"));
		
		System.out.println("contains:"+c.contains("王五"));
		//boolean isEmpty() 判断集合是否为空
		System.out.println("isEmpty:"+c.isEmpty());
		
		//int size():元素的个数
		System.out.println("size:"+c.size());
		
		System.out.println(c.getClass().getName()+":"+c);
		

	}

}

测试带All的方法

package cn.itcast_01;

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

/**
 * boolean addAll(Collection<? extends E> c):添加一个集合的元素
 * boolean removeAll(Collection<?> c):移除一个集合的元素
 * boolean containsAll(Collection<?> c):判断集合中是否包含指定的集合元素,只有包含所有的元素才叫包含
 * boolean retainAll(Collection<?> c):两个集合都有的元素
 * @author jack
 *
 */
public class CollectionDemo_02 {

    public static void main(String[] args) {
        //创建集合1
        Collection c1=new ArrayList();
        c1.add("abcd1");
        c1.add("abcd2");
        c1.add("abcd3");
        c1.add("abcd4");
        System.out.println("c1--0"+c1.toString());
        //创建集合2
        Collection c2=new ArrayList();
        c2.add("abcd4");
        c2.add("abcd5");
        c2.add("abcd6");
        c2.add("abcd7");
        System.out.println("c2---0"+c2.toString());
        
        //boolean addAll(Collection<? extends E> c):添加一个容器的元素
        //System.out.println("c1.addAll(c2)"+c1.addAll(c2));
//        System.out.println("c1--1"+c1.toString());
//        System.out.println("c2--1"+c2.toString());
        
        //boolean removeAll(Collection<?> c):移除一个集合的元素,注意移除的交集元素,只要有一个被移除就返回true
//        System.out.println("c1.removeAll(c2)"+c1.removeAll(c2));
//        System.out.println("c1--2"+c1.toString());
//        System.out.println("c2--2"+c2.toString());
        
        //boolean containsAll(Collection<?> c):判断集合中是否包含指定的集合元素,只有包含所有的元素才叫包含
//        System.out.println("c1.containsAll(c2)"+c1.containsAll(c2));
//        System.out.println("c1--3"+c1.toString());
//        System.out.println("c2--3"+c2.toString());
        
        //boolean retainAll(Collection<?> c):两个集合都有的元素,谁调用这个方法,交集元素就会存入它,其他元素清除
        System.out.println("c1.retainAll(c2)"+c1.retainAll(c2));
        System.out.println("c1--4"+c1.toString());
        System.out.println("c2--4"+c2.toString());
    }

}

注意:boolean retainAll(Collection<?> c):两个集合都有的元素,哪个集合调用这个方法,交集元素就会存入它,该集合其他元素清除。如A对B做交集,最终的集合保存在A中,B不变。返回值表示A是否发生改变。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值