JAVA HashMap排序, 引用类型和封装类型
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JAVA HashMap排序, 引用类型和封装类型,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2535字,纯文字阅读大概需要4分钟。
内容图文
![JAVA HashMap排序, 引用类型和封装类型](/upload/InfoBanner/zyjiaocheng/1182/6f5d407eefce4088a385963626a718c2.jpg)
构建Hashmap的时候 发现不能用double, 可以用String。
后来才发现double是原始数据类型, Double是它的封装类型,用在HashMap和 List中。
如果用double 无法编译通过,会提示 required reference, found double
排序就用Collections 的sort
import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.HashSet; import java.util.Set; import java.util.List; import java.util.ArrayList; import java.util.Collection; import java.util.Map; import java.util.Map.Entry; class Test{ public static void run(int numA, int numB){ // HashMap<String, HashMap<String, String>> HM = new HashMap<String, HashMap<String, String>>(); HashMap<Double, HashMap<Double, String>> HM = new HashMap<Double, HashMap<Double, String>>(); for(int i=0; i<= numA; i++){ // HashMap<String, String> innerHm = new HashMap<String, String>(); HashMap<Double, String> innerHm = new HashMap<Double, String>(); for(int j=0; j<= numB; j++){ double b = j * 0.01; // String bs = String.valueOf(b); // innerHm.put(bs , "test"); innerHm.put(b , "test"); } double a = i * 0.01; // String as = String.valueOf(a); // HM.put(as, innerHm); HM.put(a, innerHm); } Collection<Double> keyA = HM.keySet(); //Collection<String> keyA = HM.keySet(); List<Double> list = new ArrayList<Double>(keyA); // List<String> list = new ArrayList<String>(keyA); Collections.sort(list); // for(Iterator<String> iH = list.iterator(); iH.hasNext();){ for(Iterator<Double> iH = list.iterator(); iH.hasNext();){ double out_num = iH.next(); // String So = String.valueOf(out_num); System.out.println(out_num); HashMap<Double, String> inMap = HM.get(out_num); Collection<Double> it = inMap.keySet(); // Iterator iter = inMap.entrySet().iterator(); List<Double> listIn = new ArrayList<Double>(it); Collections.sort(listIn); Iterator<Double> ns_it = listIn.iterator(); while(ns_it.hasNext()){ //Map.Entry<String, String> entry = (Map.Entry) ns_it.next(); double in_num = ns_it.next(); // String in_num = entry.getKey(); String inStr = inMap.get(in_num); System.out.println(in_num + "\t" + inStr); } } } } public class test_SortHashMap { public static void main(String[] args){ Test t = new Test(); t.run(20, 30); } }
这样就可以用浮点数 ,对它们进行排序输出了。
Int 是java的原始数据类型,Integer是java为int提供的封装类。
Java 为每个原始类型提供了封装类。
原始类型 封装类
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
原文:http://matrix6ro.blog.51cto.com/1746429/1890240
内容总结
以上是互联网集市为您收集整理的JAVA HashMap排序, 引用类型和封装类型全部内容,希望文章能够帮你解决JAVA HashMap排序, 引用类型和封装类型所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。