扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
创新互联建站网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为网站制作、成都网站建设,成都app软件开发公司以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联建站深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
java.util.Set
接口和java.util.List
接口一样,同样继承Collection接口,它与Collection接口中的方法基本一致,并没有对Collection接口进行功能上的扩充,只是比Collection接口更加严格,与List接口不同的是,Set接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。
Set集合有多个子类,比如:
java.util.HashSet
、java.util.LinkedHashSet
Set特性:
java.util.HashSet
是Set接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的(存取顺序不一致),java.util.HashSet
底层的实现其实是一个java.util.HashMap
支持。
1、HashSet集合特点HashSet是根据对象的
哈希值
来确定元素在集合中的存储位置,因此具有良好的存取和查找性能,保证元素唯一性的方式依赖于:hashCode
和equals
方法
HashSet集合存储数据
package cn.com.example11;
import java.util.HashSet;
public class HashSetClass {public static void main(String[] args) {HashSethashSet = new HashSet<>();
hashSet.add("admin");
hashSet.add("user");
hashSet.add("guest");
hashSet.add("root");
System.out.println(hashSet);
}
}
3、哈希值
3.1、哈希值概述3.2、如何获取哈希值哈希值:是JDK根据对象的地址或者字符串或者数字计算出来的int类型的数据
3.3、哈希值的特点Object 类中的public int hashCode():返回对象的哈希码值
a、JDK1.8以前
底层数据结构:数组 + 链表
新元素在老元素上面
b、JDK1.8以后
节点个数小于等于8个:
数组 + 链表
节点个数大于8个:
4、HashSet常用方法数组 + 红黑树
5、HashSet遍历方式和Collection一致
三、TreeSet 1、TreeSet特点和Collection一致
package cn.com.example11;
import java.util.TreeSet;
public class TreeSetClass {public static void main(String[] args) {TreeSettreeSet = new TreeSet<>();
treeSet.add("admin");
treeSet.add("user");
treeSet.add("guest");
treeSet.add("root");
for (String s : treeSet) {System.out.println(s);
}
}
}
四、LinkedHashSet我们知道HashSet保证元素唯一,可是元素存放进去是没有顺序的,那么我们要保证有序,可以使用HashSet的一个子类
java.util.LinkedHashSet
,它是链表和哈希表组合的一个数据存储结构。
LinkedHashSet:元素唯一、有序
LinkedHashSet特点:底层是一个哈希表(数组+链表/红黑树) + 链表:多出的链表用于记录元素的存储顺序,保证元素有序
package cn.com.example11;
import java.util.LinkedHashSet;
public class LinkedHashSetClass {public static void main(String[] args) {LinkedHashSetlinkedHashSet = new LinkedHashSet<>();
linkedHashSet.add("admin");
linkedHashSet.add("user");
linkedHashSet.add("guest");
linkedHashSet.add("root");
linkedHashSet.add("admin");
System.out.println(linkedHashSet);
}
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流