Collection

Collection

  • list
  • set
  • 父类Collection有自己的方法,list拥有自己的方法,Set拥有自己的方法
    在这里插入图片描述

Collection接口方法

  • Collection 接口是 List、Set 和 Queue 接口的父接口,该接口里定义的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合。

例1:常用方法

public static void main(String[] args) {
		Collection coll=new ArrayList();
		//add():将e添加到集合中
		coll.add("AA");
		coll.add("BB");
		coll.add(123);
		coll.add(new Date());
		//size()
		System.out.println(coll.size());
		//addAll():将coll集合元素添加到当前集合
		Collection coll1=new ArrayList();
		coll1.add("章");
		coll1.add(456);
		coll.addAll(coll1);
		System.out.println(coll.size());//6
		System.out.println(coll);
		//isEmpty()判空
		boolean empty = coll.isEmpty();
		System.out.println(empty);
		//contains():当前对象是否包含该对象
		boolean result = coll.contains(123);
		System.out.println(result);
		//remove:删除该对象
		coll.remove(123);
		System.out.println(coll);
		//removeAll()移除共有元素,即求差集
		coll.removeAll(coll1);
		System.out.println(coll);
		//retainall()求交集,修改原有集合
		//equals(),当前集合与形参是否相当
		//hashCAode(),返回当前对象的哈希值
		System.out.println(coll.hashCode());
	 //toArray(),集合转换为数组
		Object[] arr = coll.toArray();
		for(Object x:arr) {
			System.out.println(x);
			//数组——>集合:调用Arrays的静态方法
			List<String>  list = Arrays.asList(new String[] {"aa","bb"});
			

例2:遍历操作

ArrayList aList = new ArrayList();
		
		//数据添加。。。。。。
		
		//遍历:方式一
		Iterator it=aList.iterator();
		while(it.hasNext()) {
			System.out.println(it.next());
		}
		//方式二
		for(Object o:aList) {
			System.out.println(o);
		}
		//方式三
		for(int i=0;i<aList.size();i++) {
			System.out.println(aList.get(i));
		}

Iterator迭代器

  • Iterator对象称为迭代器(设计模式的一种),主要用于遍历** Collection** 集合中的元素
  • 集合对象每次调用iterator()方法都得到一个全新的迭代器对象,默认游标都在集合的第一个元素之前

迭代器的使用

Iterator iter = coll.iterator();//回到起点
while(iter.hasNext()){
Object obj = iter.next();
if(obj.equals("Tom")){
iter.remove();
}
}

List

  • ArrayList主要实现类,本质时一个引用的变长数组
  • LinkedList:适用于频繁的插入删除操作
  • Vector:古老实现类,线程安全
    ArrayList
    在这里插入图片描述LinkedList
    在这里插入图片描述三者区别联系

在这里插入图片描述

Set

  • Set 集合不允许包含相同的元素,如果试把两个相同的元素加入同一个Set 集合中,则添加操作失败

  • Set 判断两个对象是否相同不是使用 == 运算符,而是根据 equals() 方法

  • **自己创建的类,放入Set集合中必须重写equals于hashcode方法
    equals:比较对象地址
    hashcode:返回对象的散列值

  • 主要实现类

    • HashSet:1.Set接口的主要实现;2.不能保证元素顺序 3.非线程安全
      在这里插入图片描述

    • LinkedhashSet

    • TreeSet:1.TreeSet 可以确保集合元素处于排序状态。2.TreeSet底层 使用 红黑树结构存储数据。3.TreeSet 两种排序方法: 自然排序和 定制排序。默认情况下,TreeSet 采用自然排序。(具体实现见排序)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值