`
逆风的香1314
  • 浏览: 1437524 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

老紫竹JAVA提高教程(3)-认识Set集合之LinkedHashSet

阅读更多
 
原文地址:http://www.java2000.net/p11794

有序的集合,就是LinkedList,内部通过双向链表实现,LinkedHashMap为基础。
  1. package collection.lession3;
  2. import java.util.Arrays;
  3. import java.util.HashSet;
  4. import java.util.LinkedHashSet;
  5. import java.util.Set;
  6. /**
  7.  * 老紫竹JAVA提高教程(3)-认识Set集合之LinkedHashSet。<br>
  8.  * <br>
  9.  * LinkedHashSet与HashSet的区别就是数据严格按照插入的顺序存放。<br>
  10.  * 删除之后会去掉那个位置,新增的数据将在集合的末尾。<br>
  11.  * HashSet 内部使用HashMap实现<br>
  12.  * 而LinkedHashSet内部使用LinkedHashMap实现。
  13.  * 
  14.  * @author 老紫竹 JAVA世纪网(java2000.net)
  15.  * 
  16.  */
  17. public class Lession3 {
  18.   public static void main(String[] args) {
  19.     test(new HashSet<Integer>());
  20.     test(new LinkedHashSet<Integer>());
  21.   }
  22.   public static void test(Set<Integer> set) {
  23.     System.out.println(set.getClass().getName());
  24.     // 增加10个数据
  25.     for (int i = 100; i <= 110; i++) {
  26.       set.add(i);
  27.     }
  28.     // 看看里面数据的情况
  29.     showSet(set);
  30.     // 删除一个数据
  31.     set.remove(101);
  32.     // 看看删除后的情况
  33.     showSet(set);
  34.     // 增加三个数据,看结果
  35.     set.add(98);
  36.     set.add(101);
  37.     set.add(118);
  38.     showSet(set);
  39.   }
  40.   /**
  41.    * 显示Set里面的数据。
  42.    * 
  43.    * @param set
  44.    */
  45.   private static void showSet(Set<Integer> set) {
  46.     System.out.println(Arrays.toString(set.toArray(new Integer[0])));
  47.   }
  48. }
测试:
    尝试按照自己的意愿,控制LinkedHashSet里面数据的顺序,比如删除第一个,再加入,则其出现在了末尾了。这个很像排队买票,一旦你中途退出了,就只能重新排队。是不允许加塞的。

总结:
  当我们处理集合,有想掌握其顺序的时候,可以考虑这个,当然List也是很好的选择,不过Hash算法,在查找数据的时候,比List性能要高的。
分享到:
评论

相关推荐

    java集合-LinkedHashSet的使用

    LinkedHashSet 是 Java 中的一个集合类,它是 HashSet 的子类,同时也实现了 Set 接口。与 HashSet 不同的是,LinkedHashSet 保留了元素插入的顺序,并且具有 HashSet 的快速查找特性。下面是关于 LinkedHashSet 的...

    Java基础----集合类汇总

    本文将深入探讨Java集合类的汇总,包括List、Set和Map这三大核心接口及其实现类。 首先,让我们从List接口开始。List是一种有序的集合,允许有重复元素,并且支持通过索引来访问元素。ArrayList和LinkedList是List...

    计算机后端-Java-Java核心基础-第24章 集合01 24. LinkedHashSet的使用.avi

    计算机后端-Java-Java核心基础-第24章 集合01 24. LinkedHashSet的使用.avi

    java集合知识-map、set等

    例子2-3: package test; import java.util.HashSet; import java.util.Iterator; //package cn.itcast.p.bean; class Person /*extends Object*/// implements Comparable { private String name; private ...

    java 集合(list-queue-set)学习

    Java集合框架是Java编程语言中的一个重要组成部分,它提供了一种高效、灵活地管理对象的方式。在Java中,集合主要分为两大接口:...了解并熟练掌握这些集合的特性和使用场景,对于提高Java编程效率和代码质量至关重要。

    尚硅谷-深入Java集合5:LinkedHashSet的实现原理.pdf

    本教程特点: 1.更适合零基础学员: ·自Java语言起源始,循序渐进,知识点剖析细致且每章配备大量随堂练习,让你步步为营,学得透彻、练得明白 ·拒绝晦涩难懂的呆板教学,宋老师语言生动幽默,举例形象生动深入浅...

    01大数据面试复习----Java基础---集合类、多线程、JVM.zip

    在准备大数据面试的过程中,Java基础是必不可少的一部分,尤其聚焦于集合类、多线程和JVM这三大核心领域。下面将分别对这三个方面进行深入探讨。 **一、Java集合类** Java集合框架是处理对象组的重要工具,它包括...

    JavaSE专题-Set集合.doc

    Set集合是JavaSE中的一种重要数据结构,主要包括HashSet、TreeSet和LinkedHashSet三个子类。下面我们将对Set集合的原理、特点、使用场景等进行详细的探索和分析。 HashSet HashSet是Set集合中的一种重要实现类,...

    java集合类详解(set list ArrayList等java集合类详述)

    Java 集合类详解 Java 集合类是 Java 语言中的一种基本数据结构,用于存储和操作大量数据。集合类可以分为三大类:Collection、List 和 Set。 Collection 是集合框架中的根接口,提供了基本的集合操作,如 add、...

    大学课程讲义-Java基础-Java集合.pptx

    Java 集合类可以分为 Set、List 和 Map 三种体系,分别用于存储无序、不可重复的集合、有序、可重复的集合和具有映射关系的集合。 Collection 接口是 Java 集合框架的核心接口,定义了基本的集合操作方法,如 add...

    Tedu一阶段JavaSet集合和List集合

    ### Tedu一阶段Java Set集合和List集合详解 #### 一、集合概述 - **集合的概念**:在Java中,集合是一种容器,用于存储多个对象。它可以存储不同类型的对象,并且提供了一系列的操作来管理这些对象。 - **...

    2024年java面试题-java集合相关面试题

    根据给定文件的信息,我们可以总结出以下关于Java集合的相关知识点: ### 一、集合容器概述 #### 1. 什么是集合? 集合(Collection)是指在Java中用来存储、检索及操作一组对象的一种容器。它是一种高级的数据...

    Java软件开发实战 Java基础与案例开发详解 11-3 Set接口实现类 共19页.pdf

    #### 11-3 Set接口实现类 在Java集合框架中,`Set`接口是`Collection`接口的子接口,它不允许包含重复元素。本文将详细介绍`Set`接口及其三种主要实现类:`HashSet`、`LinkedHashSet`和`TreeSet`。 ### 11.3.1 ...

    Java集合框架常见面试题.pdf

    HashSet 是一种基于哈希表实现的 Set 集合,LinkedHashSet 是一种基于链表实现的 Set 集合,TreeSet 是一种基于树形结构实现的 Set 集合。 Map 集合 Map 集合是一种键值对的集合,元素是键值对的形式,键是唯一的...

    java集合框架专题-java面试经典

    ### Java集合框架专题详解 #### 一、Java集合框架概览 Java集合框架是一个用于存储和操作对象集合的标准API。该框架提供了多种容器类型,包括`Collection`和`Map`两大类。 - **Collection**:这是一个接口,表示...

    java 集合部分笔记

    【Java集合】 Java集合框架是Java编程语言中用于存储和操作对象的工具,它提供了多种数据结构,如列表、集、映射等,以适应不同的数据处理需求。集合类通常位于`java.util`包下,是Java程序员必备的知识点。 1. **...

    Java软件开发实战 Java基础与案例开发详解 11-1 Java集合框架和泛型机制 共6页.pdf

    3. **理解**:`equals`和`hashCode`方法在Java集合中的作用是什么?如何正确地覆盖这两个方法? 通过本章的学习,读者可以深入了解Java集合框架的各个组成部分及其使用方法,这对于开发高效可靠的Java应用程序至关...

    java集合小结

    ### Java集合小结 #### 一、集合的概念与重要性 集合是Java编程语言中用于存储、管理和操作数据的一种重要工具。它提供了多种数据结构来适应不同的应用场景,从而有效地提高程序开发效率。从数据结构的角度来看,...

    java-collections-framework1016

    教程从简单的编程示例开始,帮助读者快速入门Collections Framework,并逐步深入到集合的数学定义与Java中的Set、Map及Collection之间的差异等更复杂的概念。此外,教程还讨论了Java Collections Framework的历史...

Global site tag (gtag.js) - Google Analytics