集合概述

集合的体系

Java 集合可分为 Collection 和 Map 两种体系
Collection接口

  • Set:元素无序、不可重复的集合 —类似高中的“集合”
  • List:元素有序,可重复的集合 —”动态”数组

Map接口:具有映射关系“key-value对”的集合 —类似于高中的“函数” y = f(x) (x1,y1) (x2,y2)

Collection接口

在这里插入图片描述
解析
1、这些接口都处于java.util包内
2、Collection 接口是 List、Set 和 Queue 接口的父接口,该接口里定义的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合。
3、JDK不提供此接口的任何直接实现,而是提供更具体的子接口(如:Set和List)实现。
4、在 Java5 之前,Java 集合会丢失容器中所有对象的数据类型,把所有对象都当成 Object 类型处理;从 Java5 增加了泛型以后,Java 集合可以记住容器中对象的数据类型
方法
在这里插入图片描述
在这里插入图片描述
代码实现

@Test
	public void testCollection() {
		Collection collection=new ArrayList();
		System.out.println(collection.size());//返回集合的个数
		collection.add(123);//添加一个元素
		collection.add("sasd");
		collection.add(new Date(0));
		collection.add("ss");
		collection.add(new Person(1,"samuro"));
		//判断contains(Object o):判断集合中是否包含指定的obj元素
		//判断的依据是:根据元素所在类的equal是()方法进行判断
		//明确:如果存入集合中的元素师自定义类的对象,要求重写equal是()方法
		boolean b1=collection.contains(123);
		System.out.println(b1);
		System.out.println(collection);
		//containsAll();判断是否包含所有元素
		Collection collection1=new ArrayList();
		collection1.add(123);//添加一个元素
		collection1.add("sasd");
		collection1.add(new Date(0));
		collection1.add("ss");
		collection1.add(new Person(1,"samuro"));
		System.out.println(collection.containsAll(collection1));
	    //retainAll()球当前集合和一其它集合共有的元素,返回给当前集合
		collection.retainAll(collection1);
		System.out.println(collection);
		//remove()删除元素,返回boolean
		System.out.println(collection.remove(123));
		//removeAll():删除共有的元素
		collection1.removeAll(collection);
		System.out.println(collection1);
		//equals()判断两个集合中的元素是否完全相同
		//hashCode():算哈希值
		//toArray():将集合转成数组
		Object o=collection1.toArray();
		//iterator():返回一个Iterator接口实现的类的对象,进而实现集合的遍历,不用for循环
		Iterator iterator=collection.iterator();
		System.out.println(iterator.next());
		while(iterator.hasNext()){
			System.out.println(iterator.next());
		}
		
		
	}

Map接口

在这里插入图片描述
解析
1、Map与Collection并列存在。用于保存具有映射关系的数据:Key-Value
2、Map 中的 key 和 value 都可以是任何引用类型的数据
3、Map 中的 key 用Set来存放,不允许重复,即同一个 Map 对象所对应的类,须重写hashCode()和equals()方法。
4、常用String类作为Map的“键”。
5、key 和 value 之间存在单向一对一关系,即通过指定的 key 总能找到唯一的、确定的 value。
方法
1、添加、删除操作:
Object put(Object key,Object value)
Object remove(Object key)
void putAll(Map t)
void clear()

2、元视图操作的方法:
Set keySet()
Collection values()
Set entrySet()

3、元素查询的操作:
Object get(Object key)
boolean containsKey(Object key)
boolean containsValue(Object value)
int size()
boolean isEmpty()
boolean equals(Object obj)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值