set集合是不包含重复元素的 collection
HashSet
它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。
添加的null元素
LinkedHashSet
HashSet的子类,它具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现。此实现与 HashSet 的不同之外在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,即按照将元素插入到 set 中的顺序(插入顺序)进行迭代。注意,插入顺序不 受在 set 中重新插入的 元素的影响。
添加的null元素
TreeSet
使用元素的自然顺序对元素进行排序,引用数据类型使用比较器(Comparator)
排序:数字 ==> 英文(忽略大小写) ==> 中文
不可以添加的null元素,不然会java.lang.NullPointerException
package com.wgp.demo01;
import java.util.*;
/**
* 使用LinkedHashSet,存储以下元素:"王昭君","王昭君","西施" "杨玉环","貂蝉"。
* 使用迭代器和增强 for循环遍历LimkedHashSet。
*
* Set 一个不包含重复元素的 collection
*/
public class Test01 {
public static void main(String[] args) {
//LinkedHashSet 可预知迭代顺序
Set<String> linkedHashSet=new LinkedHashSet<>();
Collections.addAll(linkedHashSet,"王昭君","王昭君","西施","杨玉环","貂蝉");
linkedHashSet.add(null);
System.out.println(linkedHashSet);//[王昭君, 西施, 杨玉环, 貂蝉]
//HashSet 不可预知迭代顺序,不保证该顺序恒久不变
Set<String> set=new HashSet<>();
Collections.addAll(set,"王昭君","王昭君","西施","杨玉环","貂蝉");
set.add(null);
System.out.println(set);//[貂蝉, 王昭君, 杨玉环, 西施]
//TreeSet 按照自然顺序排序,引用数据类型使用Comparator比较器
//数字==>英文(忽略大小写)==>中文
Set<String> treeSet=new TreeSet<>();
Collections.addAll(treeSet,"f","g","d","b","A","e","c","李四","张三","12","10");
treeSet.add(null);
System.out.println(treeSet);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/14623.html