step 1:建立对象。采用最少访问次数排序。
final int max_length = 2; 最大只能容量2个。
Map cache = new LinkedHashMap(max_length+1, .75F, true) {
public boolean removeEldestEntry(Map.Entry eldest) {
return size() > max_length;
}
};
step 2:建立对象
cache.put("1", "value1");
cache.put("2", "value2");
cache.put("3", "value3");
System.out.println("----------华丽的分割线---------");
System.out.println(cache.get("1"));
System.out.println(cache.get("2"));
System.out.println(cache.get("3"));
结果是:
----------华丽的分割线---------
null
value2
value3 即第一个插入的数被取代了。
STEP 3: 改变访问顺序。
cache.put("1", "value1");
System.out.println(cache.get("1"));
cache.put("2", "value2");
System.out.println(cache.get("1"));
cache.put("3", "value3");
System.out.println("----------华丽的分割线---------");
System.out.println(cache.get("1"));
System.out.println(cache.get("2"));
System.out.println(cache.get("3"));
结果是:
value1
value1
----------华丽的分割线---------
value1
null
value3 value2被取代了。
设置MAP为只读
cache = Collections.unmodifiableMap(cache); //这步设置之后就不允许对该MAP的对象做删除操作,否则会包异常。
分享到:
相关推荐
Java.util包是Java标准库中的核心包之一,它包含了大量用于通用编程的类和接口,是Java开发中不可或缺的一部分。这个包提供了数据结构、集合框架、事件处理、日期时间、随机数生成、位集以及与I/O流操作相关的辅助...
java.util.LinkedHashMap,V> (implements java.util.Map,V>) org.springframework.core.annotation.AnnotationAttributes org.springframework.core.annotation.AnnotatedElementUtils org.springframework.core....
56. `java.util.LinkedHashMap`:LinkedHashMap保持插入顺序的HashMap实现,也可以根据插入或访问顺序排序。 以上就是这100个常用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....
2. **自动扫描**: Spring 2.5引入了自动扫描功能,通过`@ComponentScan`注解,Spring容器可以自动发现并注册带有特定注解的类,无需在XML中显式声明。这极大地方便了项目的构建和维护。 3. **基于注解的事务管理*...
在Java编程语言中,`java.util`包是核心库的一部分,包含了大量用于处理日常编程任务的类和接口。这个源码分析将深入探讨`java.util`包中的关键组件,了解它们的工作原理,这对于任何Java开发者来说都是至关重要的。...
- `java.util.Map`: 包含`HashMap`, `TreeMap`, `LinkedHashMap`等,用于存储键值对,提供高效查找和映射功能。 - `java.util.stream.Stream`:Java 8引入的流API,支持函数式编程,用于处理集合数据。 4. **IO流...
Java的`java.util.HashMap`和`java.util.LinkedHashMap`是两种常见的散列表实现。 12. 双向链表:双向链表中的每个节点包含前后两个指针,支持双向遍历。Java的`java.util.Deque`接口和`java.util.LinkedList`类...
Java工具类(Java Util)是Java开发中不可或缺的一部分,它为开发者提供了大量便捷的功能,极大地提高了开发效率。在Java标准库中,`java.util`包是核心工具类库,包含了各种容器类、集合框架、日期时间处理、随机数...
Java的`java.util.HashMap`和`java.util.LinkedHashMap`是哈希表的实现。 7. 图:图是由节点(顶点)和连接节点的边构成的数据结构,广泛用于表示关系网络。在Java中,通常使用对象和引用来实现图。 8. 堆:堆是一...
6. **哈希表**:哈希表通过哈希函数实现快速查找,Java的`java.util.HashMap`和`java.util.LinkedHashMap`提供了哈希表实现。 7. **二叉树**:二叉树每个节点最多有两个子节点,分为二叉搜索树(BST)、平衡二叉树...
哈希表是一种通过哈希函数快速定位数据的数据结构,Java的`java.util.HashMap`和`java.util.LinkedHashMap`就是典型的哈希表实现。哈希表提供了近乎常数时间的查找、插入和删除操作,但在处理哈希冲突时需要注意性能...
在Java编程语言中,`java.util`包是核心库的一部分,包含了大量用于处理日常编程任务的类和接口。这个包提供了各种数据结构(如ArrayList、LinkedList、HashSet、HashMap)、集合框架、日期时间处理、随机数生成、IO...
Java的`java.util.HashMap`和`java.util.LinkedHashMap`是常见的实现。 6. **树**:分层的数据结构,如二叉树(Binary Tree)、二叉搜索树(BST)、AVL树、红黑树等,用于高效搜索、排序等。Java的`java.util....
Java的`java.util.HashMap`和`java.util.LinkedHashMap`类是哈希表的实现,分别提供了无序和有序的访问方式。 7. **二叉树**:二叉树是一种每个节点最多有两个子节点的数据结构,分为二叉搜索树(BST)、平衡树(如...
int[] array2 = java.util.Arrays.copyOf(array1, array1.length); System.out.println(System.currentTimeMillis() - start); ``` #### 2. 对象集合 (Set) - **接口介绍**:`Set` 是一个不包含重复元素的集合,...
Java的`java.util.HashMap`和`java.util.LinkedHashMap`是常用的实现。 7. **树**:包括二叉树、平衡树(如AVL树和红黑树)等。二叉树常用于搜索和排序,平衡树则保证了高效的查找性能。 8. **图**:图由顶点和边...
2. **`java.util.Collections`**: 类似于`Arrays`,但针对集合框架。它提供了对List、Set和Map的操作,如排序(`sort()`)、反转(`reverse()`)和复制(`copy()`)。`Collections.synchronizedXXX()`方法用于创建...
import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; import java.util.Stack; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers....