【CXY】JAVA基础 之 Collection

概述:

    1.Collection java集合框架的根级接口(root interface)

    2.常用子接口:List、Set、Queue,注意map是自成体系的

    3.方法:新增、包含、遍历、交集、判空、大小、清空等

package com.cxy.collection;

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

/**
 * @author chenxiaoyang
 */
public class CollectionTest
{
	/**
	 * 说明:
	 * 1.Collection java集合框架的根级接口(root interface)
	 * 2.常用子接口:List、Set、Queue,注意map是自成体系的
	 * 3.方法:新增、包含、遍历、交集、判空、大小、清空等
	 */
	public static void main(String[] args)
	{
		Collection children=new ArrayList(); //注意由于这里没有加泛型,所以很多黄线警告
		//新增
		children.add("小明");
		children.add("小红");
		children.add("小白");
		System.out.println("======================");
		
		//是否包含
		System.out.println("幼儿园一班是否有叫小明的小朋友? 答:"+children.contains("小明"));
		System.out.println("幼儿园一班是否有叫小黑的小朋友? 答:"+children.contains("小黑"));
		System.out.println("======================");
		
		
		//遍历(2种方式)
		System.out.print("Iterator法遍历:");
		Iterator it = children.iterator(); //Iterator(迭代器) 请参看博客中有关Iterator专门的文章
		while (it.hasNext())
		{
			System.out.print((String)it.next()+"  ");//由于没有使用泛型,所以这里需要强转一下
		}
		System.out.println("");  //保持格式,无实际用处
		
		/*上面这种方式太注重遍历过程的本身,对初学者来说有些复杂,那么试试foreach吧
		 *foreach是java 5 提供的一种便捷遍历方法
		 */
		System.out.print("foreach法遍历:");
		for(Object one : children)
		{
			System.out.print((String)one+"  ");
		}
		System.out.println("");  //保持格式,无实际用处
		System.out.println("======================");
		
		
		//转换成数组
		Object[] array=children.toArray();
		System.out.println("数组大小:"+array.length);
		System.out.println("======================");
		
		//删除
		System.out.println("删除前:"+children); //这种打印方法实际用的是Collection实现类的toString方法
		children.remove("小明");
		System.out.println("删除后:"+children);
		System.out.println("======================");
		
		//交集
		Collection goodBoySet=new HashSet();  //一个set集合
		goodBoySet.add("小明");
		goodBoySet.add("小白");
		children.retainAll(goodBoySet);  //children集合中存在于goodBoySet集合的数据,简单的讲就是交集。
		System.out.println("交集结果:"+children);
		System.out.println("======================");
		
		//判空、大小、清空
		System.out.println("集合是否是空?答:"+children.isEmpty());
		System.out.println("集合大小:"+children.size());
		children.clear();
		System.out.println("清空后,集合是否是空?答:"+children.isEmpty());
		System.out.println("清空后,集合大小:"+children.size());
		System.out.println("======================");
	}
}


补充:

如果使用List的话,还可以使用序号遍历方式

for(int i=0;i<children.size();i++)
{
    System.out.println("索引:"+i+":"+children.get(i));
}
当然这个的使用前提是children是List,上面例子的是Collection,所以需要转下型:
for(int i=0;i<children.size();i++)
{
    System.out.println("索引:"+i+":"+((ArrayList)children).get(i));
}



相关文章连接:

《JAVA基础 之 List》

《JAVA基础 之 Map》

《JAVA基础 之 Set》

《JAVA基础 之 排序》

 

声明:

1.原创文章,转载请标明并加本文连接。

2.更详尽的API请参见  http://docs.oracle.com/javase/7/docs/api/

3.文章反映个人愚见,如有异议欢迎讨论指正 


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值