【ThinkingInJava】48、java中Collection的各种操作

/**
* 书本:《Thinking In Java》
* 功能:java中Collection的各种操作
* 文件:CollectionMethods.java
* 时间:2015年5月1日10:08:16
* 作者:cutter_point
*/
package Lesson17Containers;

import java.util.List;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;

import net.mindview.util.Countries;
import static net.mindview.util.Print.*;

public class CollectionMethods
{

	public static void main(String[] args)
	{
		Collection<String> c = new ArrayList<String>();
		c.addAll(Countries.names(6));
		c.add("ten");
		c.add("eleven");
		print(c);
		Object[] array = c.toArray();	//吧c化为Object类型的数组
		String[] str = c.toArray(new String[0]);
		//这里安字典的排序排序了
		print("Collections.max(c) = " + Collections.max(c));	//排序最大的
		print("Collections.min(c) = " + Collections.min(c));	//排序最小的
		print("-------------------------------------------------------");
		Collection<String> c2 = new ArrayList<String>();
		c2.addAll(Countries.names(6));
		c.addAll(c2);	//吧c2的值尾随到c中
		print(c);
		print("-------------------------------------------------------");
		//我们删除几个值试一试
		c.remove(Countries.DATA[0][0]);	//只要发生了删除就返回true,不管集合里面还有没有重复的
	    print(c);
	    c.remove(Countries.DATA[1][0]);
	    print(c);
	    print("-------------------------------------------------------");
	    c.removeAll(c2);	//去除所有的c2中有的元素,有多少去多少
	    print(c);
	    c.addAll(c2);
	    print(c);
	    print("-------------------------------------------------------");
	    //contains的作用就是看一看容器中是否包含有这个val元素
	    String val = Countries.DATA[3][0];
	    print("c.contains(" + val  + ") = " + c.contains(val));
	    //极端一点,可以搞一个集合来看看是否包含有
	    print("c.containsAll(c2) = " + c.containsAll(c2));	//完全包含
	    Collection<String> c3 = ((List<String>)c).subList(3, 5);	//吧c中排在第4和第5的元素拿出来[ten, eleven, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI]
	    print("-------------------------------------------------------");
	    //我们求一下交集
	    c2.retainAll(c3);	//c2和c3的交集,保存到c2中
	    print(c2);
	    print("-------------------------------------------------------");
	    //吧c2中的c3部分去掉,c2现在是[ANGOLA, BENIN]
	    c2.removeAll(c3);
	    print("c2.isEmpty() = " +  c2.isEmpty());
	    print("-------------------------------------------------------");
	    //当前c是:[ten, eleven, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI]
	    c = new ArrayList<String>();	//重新创建,前面那个c就已经丢失了
	    c.addAll(Countries.names(6));
	    print(c);
	    c.clear(); // 清空所有元素
	    print("after c.clear():" + c);
	    
	}
}



输出:

[ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, ten, eleven]  obj1
Collections.max(c) = ten  obj1
Collections.min(c) = ALGERIA  obj1
-------------------------------------------------------  obj1
[ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, ten, eleven, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI]  obj1
-------------------------------------------------------  obj1
[ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI, ten, eleven, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI]  obj1
[BENIN, BOTSWANA, BURKINA FASO, BURUNDI, ten, eleven, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI]  obj1
-------------------------------------------------------  obj1
[ten, eleven]  obj1
[ten, eleven, ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI]  obj1
-------------------------------------------------------  obj1
c.contains(BOTSWANA) = true  obj1
c.containsAll(c2) = true  obj1
-------------------------------------------------------  obj1
[ANGOLA, BENIN]  obj1
-------------------------------------------------------  obj1
c2.isEmpty() = true  obj1
-------------------------------------------------------  obj1
[ALGERIA, ANGOLA, BENIN, BOTSWANA, BURKINA FASO, BURUNDI]  obj1
after c.clear():[]  obj1




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值