- 浏览: 344443 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (249)
- 无废话ExtJs 系列教程 (26)
- jQuery (6)
- 钦波工作后的生活 (5)
- 工作/生活闲谈 (16)
- java基础知识 (44)
- java web (14)
- Struts (1)
- hibernate (8)
- Jpa (0)
- spring (1)
- ajax (3)
- java项目 (4)
- database (5)
- java 流行框架 (5)
- 异常处理 (4)
- 无废话Android系统教程 (6)
- 开发IDE (1)
- 亲自答过的java笔试题 (2)
- oa项目 (4)
- [ 民政局3.0系统 ]--知识点总结分析--与具体项目无关 (0)
- [ 黑龙江低保系统 ]--知识点总结分析--与具体项目无关 (2)
- 工作笔试 (1)
- xml (1)
- telecom项目分析 (13)
- swing (0)
- String运用 (2)
- css (1)
- 页面 (1)
- Html5 (2)
- oracle (4)
- 网站 (1)
- django (1)
- python (4)
- 民航数据中心遇到与解决的问题 (1)
- 平时关注的技术或特效 (1)
- Linux 命令 (2)
- 服务器监控工具 (1)
最新评论
-
wwytwen123:
[*]
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波) -
junying280efun:
yingtao.huang@gmail.com仁兄,麻烦你给我 ...
jBPM Web Designer(jBPM Web 设计器、jBPM 流程设计器、工作流程设计器) -
mobeicanglang:
我觉得楼主的例子全部都有错误,题目明明说的是try{}语句中有 ...
try return finally -
ashy1q:
楼主最后那段代码重复了,写了两遍。知识很详细,很基础,学习了。 ...
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波) -
185552143:
你好!
为什么我这样写p${m.id},会报错的?
能我帮我解 ...
Session问题
顾名思义LinkedHashMap是比HashMap多了一个链表的结构。与HashMap相比LinkedHashMap维护的是一个具有双重链表的HashMap,LinkedHashMap支持2中排序一种是插入排序,一种是使用排序,最近使用的会移至尾部例如 M1 M2 M3 M4,使用M3后为 M1 M2 M4 M3了,LinkedHashMap输出时其元素是有顺序的,而HashMap输出时是随机的,如果Map映射比较复杂而又要求高效率的话,最好使用LinkedHashMap,但是多线程访问的话可能会造成不同步,所以要用Collections.synchronizedMap来包装一下,从而实现同步。其实现一般为: HashMap,LinkedHashMap,TreeMap都属于Map Map 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。
HashMap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步,可以用 Collections的synchronizedMap方法使HashMap具有同步的能力。
LinkedHashMap LinkedHashMap也是一个HashMap,但是内部维持了一个双向链表,可以保持顺序
TreeMap 不仅可以保持顺序,而且可以用于排序
HashMap例子:
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("a3", "aa");
map.put("a2", "bb");
map.put("b1", "cc");
for (Iterator iterator = map.values().iterator(); iterator.hasNext();) {
String name = (String) iterator.next();
System.out.println(name);
}
}
LinkedHashMap例子: public static void main(String[] args) {
Map<String, String> map = new LinkedHashMap<String, String>();
map.put("a3", "aa");
map.put("a2", "bb");
map.put("b1", "cc");
for (Iterator iterator = map.values().iterator(); iterator.hasNext();) {
String name = (String) iterator.next();
System.out.println(name);
}
}
TreeMap例子: public static void main(String[] args) {
Map<String, String> map = new TreeMap<String, String>(new Comparator<Object>(){
Collator collator = Collator.getInstance();
public int compare(Object o1, Object o2) {
CollationKey key1 = collator.getCollationKey(o1.toString());
CollationKey key2 = collator.getCollationKey(o2.toString());
return key1.compareTo(key2);
//return collator.compare(o1, o2);
}});
map.put("a3", "aa");
map.put("a2", "bb");
map.put("b1", "cc");
for (Iterator iterator = map.values().iterator(); iterator.hasNext();) {
String name = (String) iterator.next();
System.out.println(name);
}
}
运行这三个例子,体会一下它们之间的区别。 |
发表评论
-
JAVA正则表达式经典实例教程[huiqinbo]
2012-03-22 14:38 1806归纳者 : huiqinboaddress : bei ... -
Java多线程同步Synchronized使用并详细分析与实例 【huiqinbo转于网络并总结】
2012-03-09 13:55 3087一.Synchronized基本知识: 在 ... -
今天闲谈下最近写的正则表达式方法,对初学者来说绝对实用【回钦波】
2012-02-03 18:38 872////////////////// test1 ... -
获得到当前方法及类的名字Thread.currentThread().getStackTrace()[0].getClassName();
2011-09-26 13:22 2231获得到当前方法及类的名字: Thread.curren ... -
BufferedReader和BufferedOutputStream之间的灵活应用【回钦波】
2011-09-16 17:44 1070package log; import java.io.Bu ... -
获取c盘下的用户地址System.getProperty("user.home")
2011-09-15 17:09 1144System.getProperty("user.h ... -
为java.util.logging自定义文件处理器及日志输出格式
2011-09-15 17:05 1796为java.util.logging自定义文件处理器及日志输 ... -
jdk log自定义配置文件【回钦波写于20110915】
2011-09-15 17:00 1196import java.io.IOException; ... -
获得本类(java文件)的路径【huiqinbo】this.getClass().getResource("/").getPath()
2011-09-14 15:29 1353package com.huiqinbo; imp ... -
java中ArrayList 、LinkList区别【huiqinbo】
2011-09-08 11:42 1238java中ArrayList 、LinkList、List区 ... -
jdk的logging实例入门学习
2011-09-07 16:40 1006jdk的logging实例入门学习 分类: JDK 2 ... -
关于数组new 与不new 的问题
2011-08-30 15:05 861public class Test { String c ... -
Eclipse快捷键大全(huiqinbo)
2011-08-30 11:12 771Ctrl+1 快速修复(最经典 ... -
oracle数据库左右内外连接 【回钦波详解】
2011-08-29 15:00 1193oracle数据库左右内外连 ... -
@SuppressWarnings("**")是什么意思【回钦波详细解答】
2011-08-10 10:55 1005很多网友问我(回钦 ... -
很好用的Java反编译软件【回钦波】
2011-04-29 16:49 1068有Windows,Linux和Mac OS三个版本可 ... -
JAVA进制等移位运算[参考于回钦波文库]
2010-12-20 14:33 1050JAVA移位运算符 文章分类:Java编程 作者:回钦波 ... -
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波)
2010-11-05 13:16 2994java类中静态域、块,非 ... -
线程的状态
2010-11-02 09:50 1014学习线程《五》——线程的状态 文章分类:Java编程 ja ... -
ArrayList,Vector, LinkedList的存储性能和特性
2010-11-01 13:05 1062ArrayList,Vector, LinkedList的存储 ...
相关推荐
Java集合框架源码分析之LinkedHashMap详解 Java集合框架中的LinkedHashMap是HashMap的子类,它继承了HashMap的存储结构,但引入了一个双向链表的头结点,将所有put到LinkedHashMap的节点连接成一个双向循环链表,...
主要实现类包括HashMap、Hashtable、LinkedHashMap和TreeMap。 1. HashMap:它利用键的hashCode值存储数据,根据键快速定位到值。由于使用了哈希表的存储方式,HashMap通常能够提供较快的读写性能。它的遍历顺序是...
Java 中的 Map、HashMap、TreeMap 使用详解 Map 是 Java 集合框架中的一个接口,用于存储键值对,根据键可以获取值。Map 中的键不允许重复,但值可以重复。在 Java 中,HashMap、LinkedHashMap、TreeMap 都实现了 ...
### Java软件开发实战:Map接口详解 #### 一、Map接口概述 Map接口是Java集合框架中的一个重要组成部分,用于存储键值对(key-value pairs)。Map接口与其他集合接口(如List和Set)不同之处在于,它允许每个键...
Map接口的主要实现类有HashMap和LinkedHashMap。HashMap基于哈希表,元素存取顺序不确定,需要重写键的hashCode()和equals()方法;LinkedHashMap则在HashMap基础上增加了链表结构,保证了元素的插入顺序或访问顺序。...
### Java集合框架和泛型机制 #### 11.1 Java集合框架概述 在Java中,集合框架(Collection Framework)是一套用于存储和操作对象集合的API。它为程序员提供了丰富的数据结构,使得数据管理更加高效和灵活。集合...
在Java编程语言中,集合框架是一组用于存储和操作对象集合的接口和类。集合框架是Java API中一个非常重要的部分,因为它提供了一种统一的方式去操作不同类型的集合。集合框架通过提供高性能的通用数据结构和算法,极...
Java集合框架是Java编程语言中的一个核心特性,它为存储、管理和操作对象提供了一组统一的接口和类。本文将深入解析Java集合框架中的主要组件,包括Collection、List、Set和Map,帮助开发者更好地理解和使用这些工具...
本资料“Java集合详解代码.zip”涵盖了Java集合框架的主要组成部分,包括List、Set、Map以及Collections工具类,通过代码实现来帮助理解和掌握这些概念。 1. **List接口**:List是有序的集合,允许重复元素,支持...
ArrayList、LinkedList、HashSet、TreeSet、HashMap、LinkedHashMap等是常用的数据结构实现,它们各自具有不同的特性和性能表现,适用于不同的场景。 2. 输入/输出流:Java的I/O流系统支持处理数据的读写,包括文件...
### Java集合框架详解 #### 一、Java集合框架概述 Java集合框架是Java标准库的重要组成部分,它提供了存储和操作对象的各种数据结构。通过使用集合框架,开发人员可以轻松地管理不同类型的数据集,并且能够利用...
Java集合框架是Java编程语言中的核心部分,它提供了一种高效、灵活的数据组织和操作机制。本文将深入探讨集合框架的各个组成部分,包括Collection、List、Set和Map,以及它们的特点、常用方法和实现原理。 1. 集合...
Java集合框架是Java编程语言中的一个核心组成部分,它为数据存储和操作提供了丰富的接口和类。这个框架包括了Collection、List、Set和Map四大接口,以及它们的各种实现类。了解和掌握这些概念对于任何Java开发者来说...
7. HashMap和Hashtable的主要区别在于线程安全性,HashMap是非同步的,性能较高,而Hashtable是线程安全的,但在多线程环境下使用时无需手动同步,但性能相对较低。 8. Java 1.5引入了泛型,使得集合在编译时就能...
### JAVA集合详解 #### 一、集合框架概述 ##### 1. 什么是JAVA集合框架? JAVA集合框架(Java Collection Framework)是一种为表示和操作集合所规定的标准体系结构,旨在为开发人员提供一种灵活且高效的机制来...
- `LinkedHashMap`:保持了`HashMap`的高性能,并按插入顺序保存元素。 - `Hashtable`:线程安全的`HashMap`。 #### 四、抽象类 抽象类如`AbstractCollection`、`AbstractList`、`AbstractSet`和`AbstractMap`等...
"Java 集合框架详解" Java 集合框架是一种用于存储和管理对象的容器,主要有三种类型:Set(集)、List(列表)和 Map(映射)。集合的特点主要有两点:一是集合用于存储对象的容器,对象是用来封装数据的,对象多...
### Java集合框架主要接口与类详解 #### 引言 Java集合框架作为Java语言的核心组成部分,在数据管理和操作方面发挥着至关重要的作用。该框架提供了一系列的接口和类,旨在为开发者提供灵活、高效且类型安全的数据...
Java集合框架是Java编程语言中的核心部分,它提供了一种高效、灵活的数据存储和操作机制。本文将深入探讨集合框架的各个组成部分,包括Collection、List、Set和Map,以及它们的实现原理和排序方法。 1. **集合框架...