Java中的集合:Collection接口

一、Java中的集合可以分为两个体系:Collection接口、Map接口

1.Collecteion接口:单列数据,定义了存储一组对象的方法的集合

  • List : 元素有序、可重复的集合
  • Set : 元素无序、不可重复的集合

2.Map接口:双列数据,存储具有映射关系“key-value”的集合(键值对)

在这里插入图片描述

二、Collection中的抽象方法

  • add(Object o) 添加元素。 o是任何类型的数据都可以

  • size() 返回值为集合的长度

  • addAll(Collection c) 将集合c中的元素添加到其中

  • isEmpty() 判断集合的size是否为0

  • clear() 清空集合中的数据

  • contains(Object o) 判断当前的集合中是否包含o这个元素(如果参数是实例对象,
    那么除了重写过equals的String比较的是内容;String之外对的其他类比较的是地址值,除非重写equals())。o是任何类型的数据都可以

  • containsAll(Collection c) 判断c集合中的元素是否都在当前集合中

  • remove(int index) 移除当前集合中索引为index的元素(如果参数是实例对象,
    那么除了重写过equals的String比较的是内容;String之外对的其他类比较的是地址值,除非重写equals())

  • removeAll(Collection c) 移除当前集合中的集合

  • retainAll(Collection c) 移除当前一盒中与集合c不相同的元素(相当于取交集)

  • equals(Collection c) 比较当前集合与集合c是否相等。因为是有序,所以顺序也要相同

  • hashcode() 返回当前集合的哈希值

  • toArray() 将当前的集合——>数组,使用Object[] arr类型的数组接收

  • 拓展:Arrays.asList(Object arr[])
    将数组——>集合,最好使用包装类(Integer…)对象的数组,注意要用List<包装类>/Collection的集合接收

  • iterator() 返回Iterator接口的实例,用于遍历集合的元素。
    1.Iterator iterator = 集合对象.iterator();
    2.iterator.next() 每次从集合中取出一个元素(返回值)
    3.iterator.hasNext() 判断集合中的元素是否都被iterator.next()取过
    4.所以遍历时,通过iterator.hasNext()判断,通过iterator.next()打印

代码举例:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;;

public class Related_API {
	public static void main(String[] args) {
		ArrayList aList = new ArrayList();
		//Arrays.asList(Object arr[])  将数组——>集合,
		List<Integer> test = Arrays.asList(new Integer[]{1,2,3});
		
		//add(Object o)  添加元素。 o是任何类型的数据都可以
		aList.add(123);
		aList.add("hello,world");
		aList.add(new Person("寒江孤影一线白", 108));
		
		//addAll(Collection c)  将集合c中的元素添加到其中
		aList.addAll(test);
		System.out.println("aList:"+aList+"\n");
		
		//size()  返回值为集合的长度
		System.out.println("集合的长度:"+aList.size()+"\n");
		
		//contains(Object o)  判断当前的集合中是否包含o这个元素(如果参数是实例对象,
		System.out.println("集合中是否包含123:"+aList.contains(123)+"\n");
		
		//remove(Object o)  移除当前集合中的o
		aList.remove(1);
		System.out.println("remove(1)后的集合:"+aList+"\n");	
		
		//isEmpty()  判断集合的size是否为0
		System.out.println("集合是否为空:"+aList.isEmpty()+"\n");
		
		//clear()  清空集合中的数据
		aList.clear();
		System.out.println("clear()后,集合的元素个数:"+aList.size()+"\n");
		
	}
}

class Person {
	String name;
	int age;
	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + "]";
	}
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值