Collection/List/Set

===========
Collection  的总结
===========
它是一个接口,一个根接口,一个ROOT接口;
Collection层次结构中的根接口;Collection表示的是一组对象,那么那些对象就是Collection中的元素,或者是组成部分;
一些collection实现对它们可能包含的元素有所限制。例如某些实现不能为null;当存在那样情况的时候,就会抛出NullPointerException或者ClassCastException的错误。会出现这类异常的方法,在文档上面标有“可选”。
关于如何避免出现这类异常,那么就是要注意NULL值的使用,当需要引用该对象的方法时候,需要确保该对象已经被实例化。(当一些对象的值为NULL的时候,就会视为没有被实例化的。★)

当这个接口被实现之后,它就可以用来存放各类对象。这些对象在集合里面可以有排序的,可以有不是排序的,可以有重复的,也可以不能重复的;这些具体功能是通过它的子类,子接口来实现的。。
要是想用尽可能常规简单的方法的时候,可以选择Collection;

关于Collection接口的常用方法
    添加元素的是   boolean add(Object element);
    删除元素的是   boolean remove(Object element);
    通过迭代器输出元素  Iterator 
例子:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Test_Collection {

	public static void main(String[] args) {
		String string = null;// 创建一个用于测试的,存放在集合里面的对象
		Collection<String> ccc = new ArrayList<String>();// 创建一个集合,存放的类型设定为String类型
		// 增加
		for (int i = 0; i < 10; i++) {
			ccc.add("" + i); // 使用Collection的方法add(),添加新的元素
		}

		// 查询;输出
		System.out.println("Collection集合中的元素有" + ccc);
		// 删除,输出
		ccc.remove("3");// 删除值为:3的元素
		System.out.println("删除之后,Collection集合中的元素有" + ccc);
		
		//isEmpty()
		System.out.println("ccc.isEmpty()的值为:"+ccc.isEmpty());
		
		//size()
		System.out.println("ccc.size()的值为:"+ccc.size());
		
		//迭代器,iterator
		Iterator<String> iter = ccc.iterator();
		System.out.println("检查是否有元素可以迭代:"+iter.hasNext());
		int a = 0;
		while (iter.hasNext()) {
			a++;
			System.out.println("第"+a+"个元素的值为:"+iter.next());//迭代器的next()方法
		}

	}
}
输出的结果:
Collection集合中的元素有[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
删除之后,Collection集合中的元素有[0, 1, 2, 4, 5, 6, 7, 8, 9]
ccc.isEmpty()的值为:false
ccc.size()的值为:9
检查是否有元素可以迭代:true
第1个元素的值为:0
第2个元素的值为:1
第3个元素的值为:2
第4个元素的值为:4
第5个元素的值为:5
第6个元素的值为:6
第7个元素的值为:7
第8个元素的值为:8
第9个元素的值为:9

============
List
============
它是Collection接口的子接口;一个允许重复的、有序集合;
相对于collection接口而言,List接口具有其他的高效的功能;

在向List集合中插入新的数据的时候,会给每个元素索引。每个元素都有唯一的序号,方面用                    于修改、查询、删除等,非常的高效;

对于ArrayList类的使用比较熟悉,相对于数组而言,觉得非常的高效;

例子:

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class Test_List {
	public static void main(String[] args) {
		String string = null;// 创建一个用于测试的,存放在集合里面的对象
		List<String> listStrings = new ArrayList<String>();
		for (int i = 0; i < 10; i++) {
			listStrings.add("" + i);
		}
		// 输出所有的元素
		System.out.println(listStrings);
		// 利用listIterator()方法,返回类型为ListIterator的元素,可以实现单个元素的输出;元素的序列号
		ListIterator<String> listIteratorstring = listStrings.listIterator();
		System.out.println("第一个元素的值为:" + listIteratorstring.next());
		System.out.println("第二个元素的值为:" + listIteratorstring.next());
		System.out.println("第三 个元素的值为:" + listIteratorstring.next());
		
	}
}

输出是:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
第一个元素的值为:0
第二个元素的值为:1
第三 个元素的值为:2

=============
Set
=============
它是Collection接口的子接口;它是不允许重复的一个集合;
取与其他的文档资料:

 

简述

实现

操作特性

成员要求

Set

成员不能重复

HashSet

外部无序地遍历成员。

成员可为任意Object子类的对象,但如果覆盖了equals方法,同时注意修改hashCode方法。

TreeSet

外部有序地遍历成员;

附加实现了SortedSet, 支持子集等要求顺序的操作

成员要求实现Comparable接口,或者使用Comparator构造TreeSet。成员一般为同一类型。

LinkedHashSet

外部按成员的插入顺序遍历成员

成员与HashSet成员类似

例子是:
import java.util.HashSet;
import java.util.Set;

public class Test_Set {
	public static void main(String[] args) {
		Set<String> set = new HashSet<String>();
		
		//下面两个if判断,比较说面SET集合中,不允许元素重复的特性;
		if (set.add("0")) {
			System.out.println("Success!");
		}
		if (set.add("0")) {
			System.out.println("Failure!");
		}
		
	}
}
输出是:
Success!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值