- 浏览: 706051 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (272)
- Struts1.x (7)
- 事务 (2)
- Hibernate (11)
- 数据库 (14)
- JavaScript&Ajax (43)
- JSP&Servlet (2)
- Flex (1)
- 其它 (9)
- Java (22)
- 框架集成 (1)
- WebService (3)
- Tomcat (3)
- 加密和安全登录 (13)
- 基于原型的JavaScript (0)
- JavaDoc和Java编码规范 (3)
- CAS (1)
- 加密 (1)
- Axis2 (10)
- Ext2.x (3)
- SSH整合 (2)
- Ext (0)
- 正则表达式 (1)
- 设计模式 (4)
- 对象序列化技术 (3)
- CVS (2)
- Struts2 (6)
- Spring 2.x (7)
- Spring Security (2)
- Java 课程 (20)
- 程序员之死 (1)
- 软件测试 (6)
- UML (5)
- NetBeans (1)
- cxf (1)
- JMS (13)
- 设计 (5)
- ibatis2.x (3)
- Oracle (1)
- WebSphere (7)
- 概要设计 (1)
- DB2 (10)
- PowerDesigner (0)
- 软件工程 (5)
- rose (1)
- EA (1)
- LDAP (7)
- Portal&Portlet (3)
- MQ (10)
- ESB (4)
- EJB (2)
- JBoss (2)
最新评论
-
typeRos:
只有配置文件,没有代码么大神
Spring实现IBMMQ的JMS消息发布/订阅模式 -
panamera:
如果ActiveMQ服务器没有启动,这个时候消息生产者使用Jm ...
Spring JMSTemplate 与 JMS 原生API比较 -
lian819:
顶1楼, 引用文件, 配置属性, 太方便了
EXTJS 同步和异步请求 -
wilhard:
说得清楚明白
<%@ include file=""%>与<jsp:include page=""/>区别 -
刘琛颖:
总结的很好。受益了
javascript 父窗口(父页面)— 子窗口 (子页面)互相调用的方法
你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下:
Set keys = map.keySet( ); if(keys != null) { Iterator iterator = keys.iterator( ); while(iterator.hasNext( )) { Object key = iterator.next( ); Object value = map.get(key); ;.... ;} }
然后,这个方法有一个问题。从Map中取得关键字之后,我们必须每次重复返回到Map中取得相对的值,这是很繁琐和费时的。
幸运的是,这里有一个更加简单的途径。Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。 接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下:
Set entries = map.entrySet( ); if(entries != null) { Iterator iterator = entries.iterator( ); while(iterator.hasNext( )) { Map.Entry entry = iterator.next( ); Object key = entry.getKey( ); Object value = entry.getValue(); ;.... } }
尽管增加了一行代码,我们却省略了许多对Map不必要的“get”调用。同时,提供给开发人员一个同时保持了关键字和其对应的值的类。Map.Entry同时也提供了一个setValue()方法,程序员可以使用它修改map里面的值。
map内部是按照hash算法存储的,但如果能对map排序在某些时候还是有用的
/**
* @param h
* @return
* 实现对map按照value升序排序
*/
@SuppressWarnings("unchecked")
public static Map.Entry[] getSortedHashtableByValue(Map h) {
Set set = h.entrySet();
Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set
.size()]);
Arrays.sort(entries, new Comparator() {
public int compare(Object arg0, Object arg1) {
Long key1 = Long.valueOf(((Map.Entry) arg0).getValue().toString());
Long key2 = Long.valueOf(((Map.Entry) arg1).getValue().toString());
return key1.compareTo(key2);
}
});
return entries;
}
/**
* @param h
* @return
* 实现对map按照key排序
*/
@SuppressWarnings("unchecked")
public static Map.Entry[] getSortedHashtableByKey(Map h) {
Set set = h.entrySet();
Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set
.size()]);
Arrays.sort(entries, new Comparator() {
public int compare(Object arg0, Object arg1) {
Object key1 = ((Map.Entry) arg0).getKey();
Object key2 = ((Map.Entry) arg1).getKey();
return ((Comparable) key1).compareTo(key2);
}
});
return entries;
}
发表评论
-
org.apache.commons.lang.StringUtils
2011-05-06 09:33 2592org.apache.commons.lang ... -
[转贴] 数据安全的关键:责任分离
2011-04-22 16:33 1300[转贴] 数据安全的关键 ... -
Log4j配置详解
2010-09-10 17:27 874原文地址:http://blog.chin ... -
深入研究java.lang.Process类
2010-07-24 06:54 1261原文地址:http://lavasoft.blog.51c ... -
深入研究java.lang.Runtime类
2010-07-24 06:52 1093原文地址:http://lavasoft. ... -
java.util.NavigableSet和NavigableMap
2010-07-03 13:41 2773Java 6对Nevigable接口做了 ... -
遍历 Map 的 N 种方式
2010-07-03 08:46 1787import java.util.HashMap;import ... -
Tomcat内存溢出的原因
2010-06-18 13:37 977在生产环境中tomcat内存设置不好很容易出现 ... -
使用继承的注意点
2010-04-18 22:39 1032为了保证父类 ... -
JDK1.5 新增静态导入语法说明
2010-04-18 18:05 1378JDK1.5 以后新增加一种静态导入语法,用来导入指定 ... -
深入了解JAVA可变长度的参数(Varargs)
2010-03-24 09:34 1634(本文转载自csdn) 到J2SE 1.4为止,一直无法在J ... -
Sun 公司制定的 Java 虚拟机规范在技术上规定的 JVM 的统一标准
2010-03-23 23:25 1043Sun 公司制定的 Java 虚拟机规范在技术上规定了 ... -
ArrayList Vector LinkedList 区别与用法
2010-03-20 16:02 830ArrayList 和Vector是采用数组方式存储数据,此 ... -
如何判断字符串是否由纯数字组成(Java版本)
2010-02-03 13:45 4036public static boolean isNumeri ... -
Properties/ClassLoader
2010-01-15 16:08 1115Properties.list(PrintWriter out ... -
List、Set、数组之间的转换
2009-04-06 15:21 1372原文地址: http://hi.baidu.c ... -
Java生成随机字母和数字
2009-02-27 20:47 5565功能: 生成随机的字母和数字混杂的字符串 函数的入参是生成的随 ... -
java版本的escape和unescape函数
2009-02-16 18:21 3562// java版本的escape和unescape函数 cl ... -
String.split()用法的一点经验
2008-11-13 11:20 1622在java.lang包中有String.split()方法,返 ... -
Java clone技术
2008-08-21 16:53 0Clone基本知识储备 在Java里提 ...
相关推荐
System.out.println(entry.getKey()+"::::"+entry.getValue()); } } ``` 在上面的代码中,我们首先创建了一个HashMap对象,并将其初始化为一个空的Map集合。然后,我们使用put()方法将键值对添加到Map集合中。最后...
有多种遍历Map的方式,我们来讨论使用Map.Entry和Map.entrySet()的方式。 ### 方法一:使用Map.Entry和Map.entrySet() 使用Map.Entry和Map.entrySet()可以遍历整个Map,代码如下: ``` for (Map.Entry, String> me...
Map a = new HashMap(); //方法一 Iterator it = a.entrySet().iterator(); while (it.hasNext()) { Map.Entry pairs = (Map.Entry) it.next();... System.out.println(entry.getKey()+"="+entry.getValue()); }
这是我在编写struts2中遇到的问题,整理出来,包括截图,希望可以帮到大家
returnMap.put(entry.getKey(), entry.getValue()); } return returnMap; } ``` **解析**: 1. **创建列表**:首先,通过`map.entrySet()`方法获取到一个包含所有映射关系(键值对)的Set集合,并将其转换为一个...
Java 中的 Map、HashMap、TreeMap 使用详解 Map 是 Java 集合框架中的一个接口,用于存储键值对,...在上面的代码中,我们使用了 HashMap、TreeMap、LinkedHashMap 三种 Map 实现类,每种实现类都有其特点和使用场景。
.sorted(Map.Entry., Integer>comparingByValue().reversed()) .collect(Collectors.toMap( Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, // 解决键冲突问题 LinkedHashMap::...
要按Map的键进行排序,我们可以使用`Map.Entry.comparingByKey()`作为排序依据。以下是一个示例: ```java Map, Integer> codes = new HashMap(); codes.put("United States", 1); codes.put("Germany", 49); codes...
Object value = entry.getValue(); System.out.println("Key: " + key + ", Value: " + value); ``` 示例代码: ```java Map, String> emails = new HashMap(); emails.put("alice@example.com", "Alice"); ...
Map接口提供了多种实现类,如HashMap、TreeMap、LinkedHashMap等,每种实现类有不同的特性和使用场景。例如,HashMap是基于哈希表的数据结构,提供了快速的插入、删除和查找操作,但其元素顺序是不确定的;而TreeMap...
这部分代码演示了如何使用`getSortedHashtableByKey`方法获取排序后的`Map.Entry`数组,并遍历打印出键和对应的值。 ### 按值排序HashTable 代码还提供了一个按值排序`HashTable`的方法: ```java public static ...
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } ``` - **方法三:推荐,通过`Map.entrySet()`遍历(效率较高)** 这种方式同样可以同时访问`key`和`value`,但使用增强...
Map 遍历的三种方法 ... System.out.println(entry.getKey() + "--->" + entry.getValue()); } } ``` 这三种方法都可以遍历 Map 集合,但它们有不同的优缺点。开发者可以根据实际情况选择合适的遍历方法。
System.out.println("key=" + entry.getKey() + " and value=" + entry.getValue()); } ``` - **优点**:可以同时获取键和值,避免了多次查询操作,提高了遍历效率。 - **缺点**:代码稍微复杂一些。 - **...
根据提供的文件信息,本文将详细解释如何使用JSTL(JavaServer Pages Standard Tag Library)来读取并处理一个名为`map.txt`的文件中的数据。这里主要关注的是如何利用JSTL中的`<c:forEach>`标签来遍历一个`java....
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } ``` 3. **通过Map.entrySet遍历key和value(增强for循环)** 这种方式与第二种相似,也是遍历entrySet,但使用了Java 5...
System.out.println("key=" + entry.getKey() + " and value=" + entry.getValue()); } ``` ### 3. 通过增强型`for`循环遍历`Map.entrySet()` 这种方式类似于第二种方法,但使用了增强型`for`循环,使得代码更加...
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } ``` 当遍历空 Map 时,需注意避免 `NullPointerException`,所以在遍历前最好检查 Map 是否为空。 2. **使用 for-each ...
Map 是键值对的集合接口,它的实现类主要包括 HashMap、TreeMap、Hashtable 及 LinkedHashMap 等。其中,TreeMap 是基于红黑树(Red-Black tree)的 NavigableMap 实现,该映射根据其键的自然顺序进行排序,或者根据...
Map 集合是 Java 中一种非常常用的数据结构,了解 Map 集合的用法、Map 接口和方法、Map 的实现类、Map 的遍历和优化等方面的知识点,可以帮助开发者更好地使用 Map 集合,提高应用程序的性能和效率。