`

java.util.LinkedHashMap (1)

阅读更多
LinkedHashMap :具有可预知的迭代顺序。区别与HashMap的是前者维护一个双向链表
   2.1 此实现可以让客户避免未指定的、由 HashMap(及 Hashtable)所提供的通常为杂乱无章的排序工作,同时无需增加与 TreeMap 相关的成本。使用它可以生成一个与原来顺序相同的映射副本,而与原映射的实现无关。
   2.2 优点:此类提供所有可选的 Map 操作,并且允许 null 元素。HashMap 迭代时间很可能开支较大,因为它所需要的时间与其容量 成比例。
   2.3  链接的哈希映射具有两个影响其性能的参数:初始容量和加载因子。它们的定义与 HashMap 极其相似。要注意,为初始容量选择非常高的值对此类的影响比对 HashMap 要小,因为此类的迭代时间不受容量的影响。
   2.4 基本使用:
        public LinkedHashMap(int initialCapacity,
                     float loadFactor,
                     boolean accessOrder)构造一个带指定初始容量、加载因子和排序模式的空 LinkedHashMap 实例。
        initialCapacity - 初始容量。
        loadFactor - 加载因子。
        accessOrder - 排序模式 - 对于访问顺序,为 true;对于插入顺序,则为 false。
   这种映射很适合构建 LRU 缓存。即在构造这个类的时候,第三个个参数用true,那么表示按插入顺序排序。 设置了MAXSIZE=3,如果插入的到第三个,那么第一个插入的数据就会被丢失。即最少使用缓存表。

      

分享到:
评论

相关推荐

    java.util包

    1. 集合框架:Java.util包是Java集合框架的基础,包括List、Set、Queue和Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。这些集合类为存储和操作对象提供了灵活的方式。例如,ArrayList实现了...

    spring4.0 API

    java.util.LinkedHashMap,V> (implements java.util.Map,V>) org.springframework.core.annotation.AnnotationAttributes org.springframework.core.annotation.AnnotatedElementUtils org.springframework.core....

    最最常用的 100 个 Java类分享

    1. `java.util.ArrayList`:ArrayList是Java集合框架中的一种动态数组,它允许快速的元素访问,但插入和删除操作相对较慢。 2. `java.io.IOException`:这是所有I/O异常的基类,用于处理输入/输出操作中的错误。 3...

    Java源码解析——看优秀源码最能使人进步

    本文将对Java.lang.Object类、Java.lang.Integer类、Java.lang.String类、java.util.Arrays类、java.util.ArrayList类、java.util.LinkedList类、java.util.HashMap类、java.util.HashSet类、java.util....

    spring2.5基于注解例子程序

    1. **注解驱动的配置**: 在Spring 2.5之前,开发者通常使用XML配置文件来定义bean的创建和依赖关系。然而,2.5版本引入了如`@Component`、`@Service`、`@Repository`和`@Controller`等注解,使得可以将这些配置...

    java.util源码-JavaUtility-SourceCode:JavaUtility-SourceCode

    1. 集合框架:Java集合框架是`java.util`包的核心,它提供了一组接口和类来存储和操作对象。主要接口包括`Collection`、`List`、`Set`和`Map`。其中,`ArrayList`和`LinkedList`实现了`List`接口,分别提供基于数组...

    比较全的java工具类

    - `java.util.Map`: 包含`HashMap`, `TreeMap`, `LinkedHashMap`等,用于存储键值对,提供高效查找和映射功能。 - `java.util.stream.Stream`:Java 8引入的流API,支持函数式编程,用于处理集合数据。 4. **IO流...

    java数据结构源码

    Java的`java.util.HashMap`和`java.util.LinkedHashMap`是两种常见的散列表实现。 12. 双向链表:双向链表中的每个节点包含前后两个指针,支持双向遍历。Java的`java.util.Deque`接口和`java.util.LinkedList`类...

    java工具类 java开发助手 java util

    1. 集合框架:Java中的集合框架是`java.util`包的核心,包括List、Set、Queue和Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。它们提供了存储和操作对象的基本功能,支持动态扩展和多种操作,如...

    JAVA数据结构

    Java的`java.util.HashMap`和`java.util.LinkedHashMap`是哈希表的实现。 7. 图:图是由节点(顶点)和连接节点的边构成的数据结构,广泛用于表示关系网络。在Java中,通常使用对象和引用来实现图。 8. 堆:堆是一...

    数据结构与算法(JAVA版)

    6. **哈希表**:哈希表通过哈希函数实现快速查找,Java的`java.util.HashMap`和`java.util.LinkedHashMap`提供了哈希表实现。 7. **二叉树**:二叉树每个节点最多有两个子节点,分为二叉搜索树(BST)、平衡二叉树...

    Java数据结构课件

    哈希表是一种通过哈希函数快速定位数据的数据结构,Java的`java.util.HashMap`和`java.util.LinkedHashMap`就是典型的哈希表实现。哈希表提供了近乎常数时间的查找、插入和删除操作,但在处理哈希冲突时需要注意性能...

    java.util源码-Java-utils:各种实用Java源代码

    1. **集合框架**:`java.util`包是Java集合框架的基础,包括List、Set、Queue和Map接口。List接口代表有序的元素集合,允许重复元素,如ArrayList和LinkedList。Set接口存储不重复元素,如HashSet。Queue接口表示...

    Java实训教程 Java软件开发实战 Java类库 第4章 集合操作 共31页.pptx

    int[] array2 = java.util.Arrays.copyOf(array1, array1.length); System.out.println(System.currentTimeMillis() - start); ``` #### 2. 对象集合 (Set) - **接口介绍**:`Set` 是一个不包含重复元素的集合,...

    JAVA版本的数据结构与算法.zip

    Java的`java.util.HashMap`和`java.util.LinkedHashMap`是常见的实现。 6. **树**:分层的数据结构,如二叉树(Binary Tree)、二叉搜索树(BST)、AVL树、红黑树等,用于高效搜索、排序等。Java的`java.util....

    Java数据结构上机实践指导教程

    Java的`java.util.HashMap`和`java.util.LinkedHashMap`类是哈希表的实现,分别提供了无序和有序的访问方式。 7. **二叉树**:二叉树是一种每个节点最多有两个子节点的数据结构,分为二叉搜索树(BST)、平衡树(如...

    Java数据结构

    Java的`java.util.HashMap`和`java.util.LinkedHashMap`是常用的实现。 7. **树**:包括二叉树、平衡树(如AVL树和红黑树)等。二叉树常用于搜索和排序,平衡树则保证了高效的查找性能。 8. **图**:图由顶点和边...

    开发常用工具类

    1. **`java.util.Arrays`**: 这个类提供了大量用于操作数组的方法,包括排序(`sort()`)、搜索(`binarySearch()`)、复制(`copyOf()`)和填充(`fill()`)等。例如,你可以使用`Arrays.sort(int[] array)`对整型...

    FIFO与LRU 算法实现(java).rar_FIFO Java_LRU_fifo

    在Java中,可以使用`LinkedHashMap`实现LRU,因为它的插入和删除操作具有O(1)的时间复杂度,并能按照访问顺序自动排序。 现在让我们看看Java中如何实现这些算法: 对于FIFO,可以创建一个`LinkedList`存储缓存中的...

Global site tag (gtag.js) - Google Analytics