容器 collection

在这里插入图片描述
Collection 层次结构 中的根接口Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。

容器类 存储多个数据

泛型:
参数化类型
泛型只在编译阶段有效

set子接口 :无序的不可重复
list子接口:有序的可重复

方法:

add(E e)
添加元素

addAll(Collection<? extends E> c)
将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。

clear()

移除此 collection 中的所有元素(可选操作)。
Collection collection = new ArrayList();
		collection.add('a');
		collection.add("b");
		collection.add("c");
		System.out.println(collection);//[a, b, c]
		collection.clear();
		System.out.println(collection);//[]

contains(Object o)
如果此 collection 包含指定的元素,则返回 true。

Collection c = new ArrayList();
		c.add('a');
		c.add('b');
		c.add('c');
		System.out.println(c.contains('b'));//true

containsAll(Collection<?> c)
如果此 collection 包含指定 collection 中的所有元素,则返回 true。

// An highlighted block
var foo = 'bar';
Collection c = new ArrayList();
		c.add('a');
		c.add('b');
		c.add('c');		
		Collection c2 = new ArrayList();
		c2.add('a');
		c2.add('b');
		System.out.println(c.containsAll(c2));//true

equals(Object o)
比较此 collection 与指定对象是否相等。

Collection c = new ArrayList();
   	c.add('a');
   	c.add('b');
   	c.add('c');		
   	Collection c2 = new ArrayList();
   	c2.add('a');
   	c2.add('b');
   	System.out.println(c.equals(c2));//false

hashCode()
返回此 collection 的哈希码值。

Collection c = new ArrayList();
   	c.add('a');
   	c.add('b');
   	c.add('c');		
Collection c2 = new ArrayList();
   	c2.add('a');
   	c2.add('b');
   	System.out.println(c.hashCode());//126145
   	System.out.println(c2.hashCode());//4066

isEmpty()
如果此 collection 不包含元素,则返回 true。

Collection c = new ArrayList();
	c.add('a');
	c.add('b');
	c.add('c');	
System.out.println(c.isEmpty());//false

iterator()
返回在此 collection 的元素上进行迭代的迭代器
iterator中的方法
boolean iterator .hasNext()
如果仍有元素可以迭代,则返回 true。
E iterator .next()
返回迭代的下一个元素。
void iterator .remove()
从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。

Collection c = new ArrayList();
   	c.add("a");
   	c.add("b");
   	c.add("c");
   	System.out.println(c);//[a, b, c]
   	//迭代器
   	Iterator<String> it=c.iterator();
   	while(it.hasNext()){
   		System.out.print(it.next());//abc
   	}
   	it.remove();
   	System.out.println(c);//[a, b]

remove(Object o)
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
removeAll(Collection<?> c)
移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。

Collection c = new ArrayList();
		c.add("a");
		c.add("b");
		c.add("c");
		c.add("d");
		Collection c2 = new ArrayList();//[b, c]
		c2.add("b");
		c2.add("c");
		System.out.println(c);// [a, b, c, d]
		c.remove("a");
		System.out.println(c);// [b, c, d]
		c.removeAll(c2);
		System.out.println(c);// [d]

retainAll(Collection<?> c)
仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。

Collection c = new ArrayList();
   	c.add("a");
   	c.add("b");
   	c.add("c");
   	c.add("d");
   	Collection c2 = new ArrayList();//[b, c]
   	c2.add("b");
   	c2.add("c");
   	System.out.println(c);// [a, b, c, d]		
   	c.retainAll(c2);//true	
   	System.out.println(c);// [b,c]

size()
返回此 collection 中的元素数。

Collection c = new ArrayList();
		c.add("a");
		c.add("b");
		c.add("c");
		c.add("d");
		System.out.println(c.size());//4

toArray()
返回包含此 collection 中所有元素的数组。
toArray(T[] a)
返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同

Collection c = new ArrayList();
		c.add("a");
		c.add("b");
		c.add("c");
		c.add("d");
		System.out.println(c);//[a, b, c, d]//系统默认重写了toString方法
		c.toArray();//[a, b, c, d]

猜你喜欢

转载自blog.csdn.net/digua930126/article/details/91874797