ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Java集合:Set集合的使用
[打印本页]
作者:
王柳
时间:
2022-6-24 10:43
标题:
Java集合:Set集合的使用
先看集合框架图:
Set有HashSet和TreeSet两种实现类。
先看Set:
特点:无序、无下标、元素不可重复
方法:全部继承自Collection中的方法
增、删、遍历、判断与collection一致
看代码:
package com.collections.set;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/**
* set的使用
* 特点:(1)无序(2)不能重复
* @author 华子
*/
public class Demo01 {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
// 添加
set.add("小米");
set.add("苹果");
set.add("华为");
set.add("华为");
System.out.println(set.size());
System.out.println(set.toString());
// 删除
// set.remove("苹果");
// System.out.println("删除后:"+set.size());
// System.out.println(set.toString());
// 遍历
// 增强for
for (String s :set
) {
System.out.println(s);
}
System.out.println("------------------------");
// 迭代器
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()){
String s = iterator.next();
System.out.println(s);
}
System.out.println("------------------------");
for (String s :set) {
System.out.println(s);
}
// 判断
System.out.println(set.contains("华为"));
System.out.println(set.isEmpty());
}
}
复制代码
和之间的集合使用方法类似。
HasSet【重点】
存储结构:哈希表(数组+链表+红黑树)
存储过程(重复依据)
根据hashCode计算保存的位置,如果位置为空,直接保存,若不为空,进行第二步
再执行equals方法,如果equals为true,则认为是重复,否则形成链表
特点
存储过程:
<ul>基于HashCode计算元素存放位置 <ul>
利用31这个质数,减少散列冲突 <ul>
31提高执行效率 31 * i = (i
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4