中国婚恋网站排名wordpress媒体库搬家
2026/4/18 7:26:35 网站建设 项目流程
中国婚恋网站排名,wordpress媒体库搬家,中国石油大学网站建设,手机推广平台有哪些在Java编程中#xff0c;Set集合是处理无序、不可重复元素的重要工具#xff0c;也是面试和开发中的高频考点。今天整理了Set集合的核心练习和知识点#xff0c;帮大家彻底搞懂它的用法和特性#xff01;一、核心考点回顾1. Set的特性#xff1a;元素无序且唯一#xff0…在Java编程中Set集合是处理无序、不可重复元素的重要工具也是面试和开发中的高频考点。今天整理了Set集合的核心练习和知识点帮大家彻底搞懂它的用法和特性一、核心考点回顾1. Set的特性元素无序且唯一底层依赖 equals() 和 hashCode() 方法保证唯一性。2. 常用实现类- HashSet 基于哈希表查询效率高无序。- LinkedHashSet 继承HashSet维护插入顺序。- TreeSet 基于红黑树可对元素排序需实现Comparable或自定义Comparator。二、经典练习题练习1HashSet基本操作需求向HashSet中添加字符串元素包含重复值观察结果并遍历输出。javaimport java.util.HashSet;import java.util.Iterator;import java.util.Set;public class HashSetTest {public static void main(String[] args) {SetString set new HashSet();// 添加元素set.add(Java);set.add(Python);set.add(Java); // 重复元素set.add(C);// 遍历方式1增强forSystem.out.println(增强for遍历);for (String s : set) {System.out.println(s);}// 遍历方式2迭代器System.out.println(迭代器遍历);IteratorString it set.iterator();while (it.hasNext()) {System.out.println(it.next());}}}思考重复的Java是否会被添加输出顺序和插入顺序一致吗练习2TreeSet排序需求向TreeSet中添加整数实现自然排序和自定义降序排序。javaimport java.util.Comparator;import java.util.Set;import java.util.TreeSet;public class TreeSetTest {public static void main(String[] args) {// 自然排序SetInteger numSet1 new TreeSet();numSet1.add(3);numSet1.add(1);numSet1.add(2);System.out.println(自然排序 numSet1);// 自定义降序排序SetInteger numSet2 new TreeSet(new ComparatorInteger() {Overridepublic int compare(Integer o1, Integer o2) {return o2 - o1;}});numSet2.add(3);numSet2.add(1);numSet2.add(2);System.out.println(降序排序 numSet2);}}思考TreeSet的排序依据是什么自定义排序需要注意什么练习3Set去重实战需求将包含重复元素的List转换为Set去重再转回List。javaimport java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;public class SetDeduplication {public static void main(String[] args) {ListString list new ArrayList();list.add(苹果);list.add(香蕉);list.add(苹果);list.add(橙子);// 去重SetString set new HashSet(list);ListString newList new ArrayList(set);System.out.println(去重后的列表 newList);}}扩展如果需要保留原列表的插入顺序该用哪个Set实现类三、常见面试题1. HashSet和HashMap的关系HashSet底层依赖HashMap实现元素存在key位置value为固定对象2. 为什么Set能保证元素唯一添加元素时会先通过hashCode()计算哈希值再用equals()比较两者都相同则视为重复3. TreeSet能否存储自定义对象可以需让自定义类实现Comparable接口或在创建TreeSet时传入Comparator如果大家有更多Set集合的经典练习题或疑问欢迎在评论区交流~

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询