java集合进阶--单列集合顶层接口Collection

集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变

包含:

  1. Collection
  2. List(元素重复,储存和取出的元素顺序一致)
  3. Set(元素不可重复)
  4. 泛型
  5. Map
  6. Collections

 

 

①Collection集合概述

  • 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素
  • JDK不提供此接口的任何直接实现,它提供更具体的子接口(如SetList)实现

创建Collection集合的对象

  • 多态的方式
  • 具体的实现类ArrayList

常用方法 

boolean add(E e)添加元素
boolean remove (Object o)从集合中移除指定的元素
void       clear()清空集合中的元素
boolean contains (Object o)判断集合中是否存在指定的元素
boolean isEmpty()判断集合中是否存在指定的元素
int          size()集合的长度,也就是集合中元素的个数

 

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

public class CollectionDemo1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		/*
		 public boolean add(E e)					添加
		 public void clear()						清空
		 public boolean remove(E,e) 				删除
		 public boolean contains(Object obj)  		判断是否包含
		 public boolean isEmpty()     				判断是否为空
		 public int size()               			集合长度
		  
		  注意点:
		  Collection是一个接口,我们不能直接创建它的对象
		  所以,现在我们学习他的该方法时,只能创建它实现类的对象。
		  实现类:ArrayList
		  
		  //目的:为了学习Collection里面的方法
		  自己在做练习的时候,还是按照之前的方式去创建对象
		  
		 */
		Collection<String> coll=new ArrayList<>();
		
		//1.添加元素:
		//细节1:如果我们要往List系列集合中添加数据,那么方法永远返回true,因为List系列是允许重复的
		//细节2:如果我们要往Set系列集合中添加数据, 如果当前要添加的元素不存在,方法返回true,表示添加成功
		//										   如果当前要添加的元素存在,方法返回false,表示添加失败
		//										   因为Set系列不允许重复
		coll.add("aaa");
		coll.add("bbb");
		coll.add("ccc");
		System.out.println(coll);
		
		//2.清空
		//coll.clear();
		//System.out.println(coll);
		
		//3.删除
		//细节1:因为Collection里面定义的是共性的方法,所以此时不能通过索引进行删除,只能通过元素的对象进行删除
		//细节2:方法会有一个布尔类型的返回值,删除成功返回true,栓出失败返回false
		//如果要删除的元素不存在,就会删除失败
		System.out.println(coll.remove("aaa"));
		System.out.println(coll);
		
		//4.删除元素是否包含
		//细节:底层是依赖equals方法来判断是否存在的
		//所以,如果集合中存储的是自定义对象,也想通过contains方法来进行判断,那么在javaBean类中,一定要重写equals方法
		boolean result1=coll.contains("bbb");
		System.out.println(result1);
		
		//5.判断集合是否为空
		boolean result2=coll.isEmpty();
		System.out.println(result2);
		
		//6.获取集合的长度
		int size=coll.size();
		coll.add("eee");
		System.out.println(size);
		
	}

}

以下代码是用来介绍在定义的javaBean类中,重写equals方法以及演示

import java.util.Objects;

public class Student {
	private String name;
	private int age;
	public Student() {
		
	}
	public Student(String name,int age) {
		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;
	}
	
	public boolean equals(Object o) {
		if(this==o) return true;
		if(o==null || getClass()!=o.getClass())  return false;
		Student student=(Student) o;
		return age==student.age && Objects.equals(name, student.name);
		
	}
	public String toString() {
		return "Student{name="+name+",age="+age+"}";
	}

}
import java.util.ArrayList;
import java.util.Collection;

public class CollectionDemo2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Collection<Student> coll=new ArrayList<>();
		
		//创建三个学生对象
		Student s1=new Student("zhangsan",23);
		Student s2=new Student("lisi",23);
		Student s3=new Student("wangwu",23);
		
		//把学生对像添加到集合当中
		coll.add(s1);
		coll.add(s2);
		coll.add(s3);
		
		//判断集合中某一对象是否包含
		Student s4=new Student("zhangsan",23);
		//因为contains底层是依赖equals方法来判断是否存在的
		//如果存的是自定义对象,没有重写equals方法,那么默认使用Object类中的方法进行判断,而Object类中equals方法依赖地址值进行判断
		//需求:如果同姓名同年龄,就认为是同一个学生
		//所以,需要在定义的javaBean类中,重写equals方法就可以了。
		System.out.println(coll.contains(s4));

	}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值