Java-Collection类

Collection类

Collection类:接口.表示一组对象,这些对象也称为Collection的元素.它提供更具体的子接口(如 Set 和 List)实现.

集合的继承体系图.


常用功能:

添加功能:

boolean add(Object e):给集合中添加指定的元素.

boolean addAll(Collection c):给集合中添加一个集合中的元素.

删除功能:

void clear():删除一个集合中的所有元素(暴力删除).

boolean remove(Object o):删除一个集合中的指定元素.

boolean removeAll(Collection c):删除指定集合中的所有元素.删除一个也是删除.

判断功能:

boolean contains(Object o):判断一个集合中是否包含一个指定的元素.

boolean containsAll(Collection c):判断一个集合中是否包含另一个集合.包含所有元素.

boolean isEmpty():判断集合是否为空.

交集功能:

boolean retainAll(Collection c):A与B集合做交集,交集的元素去A集合.返回值boolean表达的意识是A集合中的元素是否发生变化,如果发生变化,就返回true;否则,false.

获取功能:

int size():获取集合中的元素数.

Iterator<E> iterator():迭代器

迭代器原理图:


转化功能:

Object[ ] toArray():将集合转化为数组.

相关代码:

package weotes;

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

public class CollectionDemo {
	public static void main(String[] args) {
		Collection c=new ArrayList();
		Collection c2=new ArrayList();
		c.add("I");
		c.add("Love");
		c.add("立华奏");
		c2.add("you");
		//添加功能
		System.out.println("add:"+c.add("you"));
		System.out.println("addAll:"+c.addAll(c2));
		System.out.println("-------------");
		//删除功能
		System.out.println("remove:"+c.remove("you"));
		System.out.println("removeAll:"+c.removeAll(c2));
		System.out.println("-------------");
		//判断功能
		System.out.println("contains:"+c.contains("you"));
		System.out.println("containsAll:"+c.containsAll(c2));
		System.out.println("-------------");
		//交集功能:
		System.out.println("retainAll:"+c.retainAll(c2));
		System.out.println("-------------");
		//获取功能size
		System.out.println("c:"+c.size());
		System.out.println("c2:"+c2.size());
		System.out.println("-------------");
		//输出
		System.out.println("c:"+c);
		System.out.println("c2:"+c2);
		System.out.println("-------------");
		//迭代器
		for(Iterator it=c2.iterator();it.hasNext();){
			String s=(String)it.next();
			System.out.println(s+"---"+s.length());
		}
		System.out.println("-------------");
		//转化功能
		Object[] obj=c2.toArray();
		for(int i=0;i<obj.length;i++){
			String s=(String)obj[i];
			System.out.println(s);
		}
	}
}
结果为:
add:true
addAll:true
-------------
remove:true
removeAll:true
-------------
contains:false
containsAll:false
-------------
retainAll:true
-------------
c:0
c2:1
-------------
c:[]
c2:[you]
-------------
you---3
-------------
you

集合和数组的区别?
1)长度的区别:

 数组:长度是固定的;

 集合:长度是可变的

 2)存储数据类型的区别:

 数组:可以存储引用类型,可以存储基本数据类型

 集合:只能存储引用类型

 3)存储元素的区别

 数组:在同一个数组中,只能存储同一种数据类型的元素;

 集合:可以 存储多种数据类型的元素;

List集合:List集合是一个有序的集合(存储元素和取出元素是一致的!),该元素中的元素是可以重复的.

特有功能:

添加功能:

void add(int index,Object element):在列表的指定位置插入指定元素.

删除功能:

Object remove(int index):删除列表指定位置的元素,返回被删除的元素.

获取功能:

ListIterator listIterator():列表迭代器:List集合的专有遍历方式

列表迭代器接口中有以下几个方法:

  boolean hasNext():判断是否有下一个可以迭代的元素(正向遍历)

  Object next():如果有可以遍历的元素,就获取这个元素

  boolean hasPrevious():判断是否有上一个可以迭代的元素(逆向遍历)

  Object previous():如果有上一个可以迭代的元素,就获取上一个元素.

  注意: 要使用逆向遍历,前提必须有正向遍历存在,直接使用逆向遍历,没有意义!

Object get(int index):返回列表中的指定位置的元素.

替换:

set(int index,Object element):用指定元素替换列表指定位置的元素.

相关代码:

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

public class ListDemo {
	public static void main(String[] args) {
		List list=new ArrayList();
//		添加功能
		list.add("I");
		list.add("Love");
		list.add("立华奏");
		list.add(2, "you");
		//获取功能get
		System.out.println("get:"+list.get(2));
		System.out.println("-------------");
//		删除功能
		list.remove(2);
//		List专有迭代器
		ListIterator it=list.listIterator();
		while(it.hasNext()){
			String s=(String)it.next();
			System.out.println(s+"---"+s.length());
		}
		System.out.println("-------------");
		//逆向遍历
		while(it.hasPrevious()){
			String s=(String)it.previous();
			System.out.println(s+"---"+s.length());
		}
		System.out.println("-------------");
		//替换功能set
		System.out.println("set:"+list.set(2, "you"));
	}
}
结果为:
get:you
-------------
I---1
Love---4
立华奏---3
-------------
立华奏---3
Love---4
I---1
-------------
set:立华奏

注意:java.util.ConcurrentModificationException:并发修改异常:当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。

原因:当前我们用迭代器去遍历元素,使用集合添加的元素,对于迭代器不知道集合添加了这个元素,所以会发生这个异常

描述:使用迭代器去遍历集合,是不能直接集合添加元素!

解决方案:1)使用迭代器遍历集合,使用迭代器添加元素.

2)使用集合遍历,使用集合添加元素.



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值