java中的set集合

概述

Set接口数据存储
1. 无序
2. 不可重复

无序
添加顺序和存储不一致!!!
不可重复
Set存储的元素不允许出现重复情况

HashSet
底层存储数据的结构是哈希表
TreeSet
底层存储数据的结构是[平衡二叉树]

Set集合使用的方法都是Collection接口中的方法,没有特殊方法
但是Set接口中两个重要的实现类HashSet和TreeSet存储过程中,需要依赖于其他方法的实现

hashSet概述

HashSet底层存储数据的结构是一个哈希表是一个表结构
表结构,我们可以认为是Excel表格
存在坐标关系 ,每一个单元格坐标唯一!!!

HashSet存储过程中,需要涉及到添加元素的hashCode方法,有可能也会涉及到equals方法。
equals方法情况需要我们避免。

代码演示

import java.util.HashSet;

public class Demo1 {
	public static void main(String[] args) {
		HashSet<Person> set = new HashSet<Person>();
		
		Person p1 = new Person(1, "骚磊", 16);
		Person p2 = new Person(2, "骚杰", 66);
		Person p3 = new Person(3, "茂林", 15);
		Person p4 = new Person(4, "大熊", 45);
		Person p5 = new Person(5, "康爷", 14);
		Person p6 = new Person(6, "宝哥", 60);
		Person p7 = new Person(6, "宝哥", 60);
		
		/*
		 * Set集合中添加顺序和存储顺序不一致
		 * 415362
		 * 
		 * Set集合当中元素不可以重复
		 */
		set.add(p6);
		set.add(p5);
		set.add(p2);
		set.add(p4);
		set.add(p3);
		set.add(p1);
		set.add(p7);
		
		System.out.println(set);
		System.out.println(set.size());
	}
}
Java中,Set是一种集合类型,它不允许重复元素,并且没有固定的顺序。常见的Set实现类有HashSet、LinkedHashSet和TreeSet。下面是Set的用法示例: 1. 创建Set对象 可以使用以下语法创建Set对象: ```java Set<T> set = new HashSet<>(); // 创建HashSet对象 Set<T> set = new LinkedHashSet<>(); // 创建LinkedHashSet对象 Set<T> set = new TreeSet<>(); // 创建TreeSet对象 ``` 其中,T表示元素的类型。 2. 添加元素 可以使用add()方法向Set中添加元素: ```java set.add(element); // 将元素添加到Set中,如果Set中已经存在该元素,add()方法不会执行任何操作 ``` 3. 删除元素 可以使用remove()方法从Set中删除元素: ```java set.remove(element); // 从Set中删除指定元素,如果Set中不存在该元素,remove()方法不会执行任何操作 ``` 4. 判断元素是否存在 可以使用contains()方法判断Set中是否存在指定元素: ```java set.contains(element); // 如果Set中存在该元素,返回true;否则返回false ``` 5. 遍历元素 可以使用foreach循环或者迭代器遍历Set中的元素: ```java for (T element : set) { // 对元素进行操作 } Iterator<T> iterator = set.iterator(); while (iterator.hasNext()) { T element = iterator.next(); // 对元素进行操作 } ``` 6. 获取元素个数 可以使用size()方法获取Set中元素的个数: ```java set.size(); // 返回Set中元素的个数 ``` 7. 清空Set 可以使用clear()方法清空Set中的所有元素: ```java set.clear(); // 清空Set中的所有元素 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值