- 浏览: 212174 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
hui963966800:
如何在上传完图片生成的<img>标签中把项目的域名 ...
CKEditor文件上传-多种方式-与ckfinder结合上传 -
zqb666kkk:
ajaxForm是 第三方插件的方法?
artDialog弹出新页面,保存后关闭弹出框并刷新父页面 -
wang_wenjing:
可以生效,多谢
js按比例缩放图片且垂直居中显示图片
今天在页面使用jstl的<c:froEach>遍历HashMap
<c:forEach items="${ydMap }" var="m"> <div class="mbody"> <div class="title cv">${m.key.stateName }<a href="${pageContext.request.contextPath }/pl/deleteBlackStatesByState.do?id=${m.key.id }&flag=0"><img src="${pageContext.request.contextPath }/images/jh.png" /></a>:</div> <div class="text"> <c:forEach items="${m.value }" var="l"> <span class="cv">${l.states }<a href="${pageContext.request.contextPath }/pl/removeBlackStates.do?id=${l.id }"><img src="${pageContext.request.contextPath }/images/jh.png" /></a></span> </c:forEach> </div> </div> </c:forEach>
但是每次刷新时顺序都会变化,原来HashMap是遍历时是无序的!如是就想到使用TreeMap
Map<BaseState,List<BlackChannelStates>> map=new TreeMap<BaseState,List<BlackChannelStates>>();
BaseState的代码 如下:
public class BaseState implements Comparable<BaseState>{
private Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
但是使用后就一直报,
...cannot be cast to java.lang.Comparable
查看了TreeMap的原码发现HashMap有如下的构造方法:
public TreeMap(Comparator<? super K> comparator) {
this.comparator = comparator;
}
原来TreeMap是有序的,有序就说明TreeMap中的每个Key元素都需要能比较,只有这样才能排序。如是我就在BaseState这个Bean改成了如下:
public class BaseState implements Comparable<BaseState>{
private Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
@Override
public int compareTo(BaseState o) {
// TODO Auto-generated method stub
return o.getId()-this.getId();
}
}
此时再调用这个错误解决了!
MAP三种简单的遍历方法
import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.Map.Entry; /** * map遍历的三种办法 * @author us * */ public class test2 { public static void main(String[] args) { /** * new一个map,然后添加内容 */ Map map=new HashMap(); for (int i = 0; i < 10; i++) { map.put(i+"",i+""); System.out.println("添加"+i+"成功"); } System.out.println("map大小"+map.size()); /** * 1.把值放到一个集合力,然后便利集合 */ // Collection c=map.values(); // Iterator it= c.iterator(); // for (; it.hasNext();) // { // System.out.println(it.next()); // } /** * 2.把key放到一个集合里,遍历key值同时根据key得到值 (推荐) */ // Set set =map.keySet(); // Iterator it=set.iterator(); // while(it.hasNext()){ // String s= (String) it.next(); // System.out.println(map.get(s)); // } // /** * 3.把一个map对象放到放到entry里,然后根据entry同时得到key和值 */ Set set =map.entrySet(); Iterator it=set.iterator(); while(it.hasNext()){ Map.Entry<String, String> entry=(Entry<String, String>) it.next(); System.out.println(entry.getKey()+":"+entry.getValue()); } } }
发表评论
-
多线程-猴子分桃
2018-03-14 10:04 0需求: 共计9个苹果,有2只猴子,一个猴子每次拿2个苹果, ... -
RestTemplate发送post请求时接收参数为空或报错
2017-08-22 10:19 4826最近使用RestTemplate发送post请求,遇到了很多 ... -
FusionCharts使用过程中点滴
2014-04-07 14:16 795一、报错:a fusionchart object ... -
Map按value排序(由大到小-由小到大),对List列表分页
2014-03-28 16:31 2153一,Map排序 ①Map按key排序 Ma ... -
编写bat脚本运行简单java项目-邮件发送基于spring示例
2014-02-19 14:34 1707Step1:在Eclipse的资源管理器中选中你要打包的项 ... -
如何让eclipse中properties文件中文正常显示
2014-01-24 13:42 3117如果想让eclipse中的properties文件正常显示和编 ... -
java代码检查工具
2014-01-13 16:35 831一、PMD代码检查工具 PMD扫描java代码并 ... -
DisplaybTag实现内存分页
2014-01-10 14:40 786本文转载于http://blog.csdn.net/bla ... -
Display Tag标签下使用checkbox勾选且分页后复选框状态保存
2013-11-16 14:17 3042>>>在阅读本文之前请先优先参考《Dis ... -
如何删除Eclipse subclipse plugin中记住的SVN用户名密码
2013-10-17 15:04 7821. 查看你的Eclipse中使用的是什么SVN Interf ... -
文本聚类-利用Weka将csv格式的数据转换为arff格式
2013-10-15 11:51 15391、打开Explorer。 2、open file打开一 ... -
文本聚类-Weka中文乱码解决办法
2013-10-15 11:42 1704由于Weka的默认字符集编码是CP1252,所以如果导入的数 ... -
CKEditor文件上传-多种方式-自定义上传-保存在项目外
2013-09-17 18:53 3007本文介绍2种使用ckeditor上传文件保存至项目外(即硬 ... -
CKEditor文件上传-多种方式-与ckfinder结合上传
2013-09-17 18:53 9869本文介绍2种使用ckeditor上传文件保存至项目外(即硬 ... -
JSP页面2种简单的分页形式
2013-06-26 16:06 828JSP页面2种简单的分页形式,写下来以做备忘,欢迎各位建议 ... -
Web.xml配置详解
2013-06-05 11:55 5591 定义头和根元素 部署描述符文件就像所有XML文件一 ... -
String换行符的去除 Trim()与Replace()的区别
2013-06-05 11:46 977String中的trim()方法可以去除字符串前后的空格; ... -
java实现将数字型货币转换为中文型货币
2013-04-23 12:07 864package com.head.pms.report.us ... -
文书编码生成规则2012-1-000008
2013-04-09 17:23 709①通过sql语句来获取 select to_char(s ... -
多种语言实现 人民币数字金额 转大写汉字
2013-03-07 16:26 898今天见到了一篇很好的文章,用来处理--》人民币 数字 金额 ...
相关推荐
关于Map的排序,Java 8引入了一个新的API——`Map.Entry`的`comparingByValue()`和`comparingByKey()`方法,这使得我们可以方便地对Map的值或键进行比较和排序。例如,可以使用`map.entrySet().stream().sorted(Map....
【Java Map 集合类简介】 在Java的`java.util`包中,集合类扮演着重要的角色,其中List和Map是最为常见的两种。List的实现例如ArrayList和Vector,它们都是可变大小的列表,适合存储和操作各种类型对象的序列。特别...
本篇文章将详细介绍几种常用的遍历`Map`的方法,包括使用传统迭代器(Iterator)、增强型for循环(For-Each循环)以及通过键集(Key Set)进行遍历。 #### 一、使用Iterator遍历Map 1. **通过`entrySet()`获取迭代...
查看与迭代Map 要查看或迭代`Map`中的元素,可以通过以下几种方式获取视图: - **entrySet()**: 返回`Map`中所有映射关系的`Set`视图。每个元素都是一个`Map.Entry`对象,通过它可以访问键和值。 - **keySet()**: ...
本文将深入探讨如何在Java中使用`keySet`方法来遍历`Map`集合,以及相关的知识点。 ### 一、Java Map接口简介 `Map`接口是Java集合框架的一部分,它提供了存储和检索唯一键对象及其对应的值对象的方法。一个`Map`...
这意味着迭代Map时,元素会按照插入的顺序或者最近访问的顺序返回。 **5. Map的基本操作** - `put(K key, V value)`: 将指定的键值对放入Map中,如果键已经存在,则替换旧值。 - `get(Object key)`: 返回与指定键...
它直接在原地对列表进行排序,无需额外的流处理。例如: ```java List<Person> people = ...; Collections.sort(people, Comparator.comparing(Person::getName)); ``` - 流API的`sorted()`:适用于任何可...
在这个主题中,我们将深入探讨Map的迭代方式,包括基本的迭代方法以及如何在实际开发中有效地使用它们。 Map接口不继承Collection接口,因此,不能直接使用for-each循环进行迭代。但是,Map提供了两个主要的迭代...
Java中的Map接口是Java集合框架的重要组成部分,它用于存储键值对的数据结构。Map不同于List,List是以索引来访问元素,而Map则是通过键(key)来查找对应的值(value)。Map接口定义了一系列方法,使得我们可以对...
在Java编程语言中,`Map`接口是一种非常重要的数据结构,它存储键值对,并确保每个键都是唯一的。本文将详细介绍Java中Map集合的三种遍历方法及其应用场景、优缺点等,帮助读者更好地理解和掌握Map的使用技巧。 ###...
`java中对单层json进行key字母排序`的标题指出了我们需要对一个单层JSONObject的键进行字母升序排序。描述提到这个资源可以直接在程序中使用,意味着提供了一个功能函数来实现这一操作。 在提供的代码中,可以看到...
在Java编程中,Map接口表示一组...总的来说,Java Map的排序可以通过选择合适的实现类(如TreeMap)或者对Map的entrySet进行转换和排序来实现。理解这些概念和方法对于处理需要有序显示或处理的键值对数据至关重要。
在Java编程语言中,Map接口是集合框架的重要组成部分,它提供了键值对(Key-Value)的数据存储方式。Map不是列表或数组,它允许通过键来查找和操作对应的值。本篇文章将详细介绍Map的基本用法和关键特性。 1. **...
迭代Map中的元素需要通过视图对象的迭代器来完成,例如: ```java Iterator<Map.Entry, Object>> keyValuePairs = aMap.entrySet().iterator(); while (keyValuePairs.hasNext()) { Map.Entry, Object> entry = key...
// java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...
在Java编程中,有时我们需要对一组参数按照字典顺序(ASCII码值从小到大)进行排序,例如在创建签名或构建URL查询字符串时。这里提供了一个名为`createSign`的方法,它接受一个`Map, Object>`类型的参数,并返回一个...
### Java集合排序及java集合类详解 #### 集合框架概述 集合是Java编程语言中非常核心且广泛使用的部分,对于深入理解和高效使用Java语言至关重要。本文将围绕Java集合框架进行详细介绍,包括Collection、List、Set...
通过以上介绍,我们可以看到Java中的Map接口及其相关实现类提供了丰富的功能来处理键值对数据。不同的实现类针对不同的应用场景提供了优化和支持。开发者可以根据实际需求选择合适的Map实现类来满足项目的需求。
在Java编程语言中,`Map`集合是一种存储键值对的数据结构,它提供了高效的数据查找和操作机制。本文将深入探讨`Map`集合的特性和遍历方式,以及`Set`特性的排序,并介绍如何使用`IO流`,特别是字节流和字符流。 ...
Java map是Java编程语言中的一种常用的数据结构,用于存储键值对形式的数据。在Java中,map可以存放数组,并且可以通过不同的方法来取出值。本文将详细介绍Java map存放数组并取出值的代码详解。 一、使用map....