Java培训笔记 04-使用java集合

本文介绍了Java集合中的set如何实现去重,重点在于set通过hashcode值来区分对象,并探讨了泛型的使用,提供了一个BaseDao抽象类的设计,要求其泛型必须是BaseEntity子类的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java集合定义了两种基本的数据结构,一种是collection,表示一组对象的集合;另一组是map,表示对象间的一系列映射或关联关系。
在这里插入图片描述
红色的是主要实现类

实现set接口的类
实现List接口的类
Map是一系列键值对
sortedSet和SortMap中的元素都按顺序排列
在这里插入图片描述
实现Map接口的类

set的去重

参考这篇
set集合区分两个对象是否相同是使用hashcode值进行区分的。

泛型使用的例题

编写一个BaseDao抽象类,要求BaseDao抽象类所定义可以接受的泛型必须是BaseEntity的子类。

BaseDao.java

package week2;

public abstract class BaseDao<T extends BaseEntity> {
	abstract void save(T t);
	
	abstract T geById(long id);

}

BaseEntity.java

package week2;

import java.util.Date;

public abstract class BaseEntity {
	public long uid;
	public Date creationDate;
	public long getUid() {
		return uid;
	}
	public void setUid(long uid) {
		this.uid = uid;
	}
	public Date getCreationDate() {
		return creationDate;
	}
	public void setCreationDate(Date creationDate) {
		this.creationDate = creationDate;
	}

}

TAddress.java

package week2;

public class TAddress extends BaseEntity{
	private long aid;
	private String adress;
	public long getAid() {
		return aid;
	}
	public void setAid(long aid) {
		this.aid = aid;
	}
	public String getAdress() {
		return adress;
	}
	public void setAdress(String adress) {
		this.adress = adress;
	}
	

}

TAddressDao.java

package week2;

public class TAddressDao extends BaseDao<TAddress>{


	@Override
	public TAddress geById(long id) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void save(TAddress t) {
		// TODO Auto-generated method stub
		
	}
	

}

TUser.java

package week2;

public class TUser extends BaseEntity{
	private String name;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	private String sex;
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值