Set接口

本章目标
掌握Set接口与Collection接口的关系
掌握Set接口的常用子类:TreeSet、HashSet
掌握TreeSet类的排序实现
掌握Object类中的hashCode()及equals()方法的使用

 

Set接口的定义
Set接口也是Collection接口的子接口,但是与Collection或List接口不同的是,Set接口中不能加入重复的元素。
Set接口的定义:
——public interface Set<E> extends Collection<E>
Set接口的主要方法与Collection是一致的
Set接口的实例无法像List接口那样进行双向输出
Set接口的常用子类
——散列存放:HashSet
——有序存放:TreeSet

 

散列的存放:HashSet
HashSet是Set接口的一个子类,主要的特点是:里面不能存放重复元素,而且是采用散列的存储方式,所以是没有顺序的。

 

验证HashSet类

import java.util.HashSet;
import java.util.Set;
public class HashSetDemo01 {
	public static void main(String[] args) {
		Set<String> allSet = new HashSet<String>();
		allSet.add("A");//增加元素
		allSet.add("B");//增加元素
		allSet.add("C");//增加元素
		allSet.add("C");//重复元素,不能加入
		allSet.add("C");//重复元素,不能加入
		allSet.add("D");//增加元素
		allSet.add("E");//增加元素
		allSet.add("F");//增加元素
		System.out.println(allSet);//输出集合对象,调用 toString()
	}
/* 结果:
 * [D, E, F, A, B, C]
 * */
}

 

有序的存放:TreeSet
如果想对输入的数据进行有序排列,则要使用TreeSet子类。TreeSet类的定义如下:
——public class TreeSet<E> extends AbstractSet<E>implements SortedSet<E>, Cloneable, Serializable

 

验证TreeSet类

import java.util.Set;
import java.util.TreeSet;
public class TreeSetDemo01 {
	public static void main(String[] args) {
		Set<String> allSet = new TreeSet<String>();
		allSet.add("D");//加入元素
		allSet.add("A");//加入元素
		allSet.add("E");//加入元素
		allSet.add("B");//加入元素
		allSet.add("C");//加入元素
		allSet.add("C");//重复元素,不能加入
		allSet.add("C");//重复元素,不能加入
		allSet.add("F");//加入元素
		System.out.println(allSet);//输出集合,调用 toString()
	}
/* 结果:
 * [A, B, C, D, E, F]
 * */
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值