Android中实现HashMap排序的方法

HashMap排序是数据结构与算法中常见的一种排序算法。本文即以Android平台为例来实现该算法。

具体代码如下:

public static void main(String[] args) {
 Map<String, Integer> map = new HashMap<String, Integer>();

 map.put("lisi", 5);
 map.put("lisi1", 1);
 map.put("lisi2", 3);
 map.put("lisi3", 9); 

 List<Map.Entry<String, Integer>> infoIds = new ArrayList<Map.Entry<String, Integer>>(
  map.entrySet());
 System.out.println("--------------排序前--------------");
 for (int i = 0; i < infoIds.size(); i++) {
 String id = infoIds.get(i).toString();
 System.out.println(id);
 }
 // 排序
 Collections.sort(infoIds, new Comparator<Map.Entry<String, Integer>>() {
 public int compare(Map.Entry<String, Integer> o1,
  Map.Entry<String, Integer> o2) {
  return ( o1.getValue()-o2.getValue());
 }
 });
 System.out.println("--------------排序后--------------");
 for (int i = 0; i < infoIds.size(); i++) {
 Entry<String,Integer> ent=infoIds.get(i);
 System.out.println(ent.getKey()+"="+ent.getValue());
 }
}

希望本文所述的HashMap排序算法能对大家的算法学习有所帮助。

(0)

相关推荐

  • JAVA HashMap详细介绍和示例

    第1部分 HashMap介绍HashMap简介HashMap 是一个散列表,它存储的内容是键值对(key-value)映射.HashMap 继承于AbstractMap,实现了Map.Cloneable.java.io.Serializable接口.HashMap 的实现不是同步的,这意味着它不是线程安全的.它的key.value都可以为null.此外,HashMap中的映射不是有序的.HashMap 的实例有两个参数影响其性能:"初始容量" 和 "加载因子".容量

  • 浅析Java中Map与HashMap,Hashtable,HashSet的区别

    HashTable和HashMap区别 第一,继承的父类不同.Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类.但二者都实现了Map接口. 复制代码 代码如下: public class Hashtable<K,V>extends Dictionary<K,V>implements Map<K,V>, Cloneable, Serializable public class HashMap<K,V>extends

  • javascript实现的HashMap类代码

    复制代码 代码如下: <script language = "javascript" > function HashMap() {     /**Map大小**/     var size = 0;     /**对象**/     var entry = new Object();     /**Map的存put方法**/     this.put = function(key, value) {         if (!this.containsKey(key)) {

  • Java中HashMap和Hashtable及HashSet的区别

    Hashtable类   Hashtable继承Map接口,实现一个key-value映射的哈希表.任何非空(non-null)的对象都可作为key或者value. 添加数据使用put(key,value),取出数据使用get(key),这两个基本操作的时间开销为常数. Hashtable通过initial   capacity和load   factor两个参数调整性能.通常缺省的load   factor   0.75较好地实现了时间和空间的均衡.增大load   factor可以节省空间但

  • 解析WeakHashMap与HashMap的区别详解

    WeakHashMap,此种Map的特点是,当除了自身有对key的引用外,此key没有其他引用那么此map会自动丢弃此值,见实例:此例子中声明了两个Map对象,一个是HashMap,一个是WeakHashMap,同时向两个map中放入a.b两个对象,当HashMap  remove掉a 并且将a.b都指向null时,WeakHashMap中的a将自动被回收掉.出现这个状况的原因是,对于a对象而言,当HashMap  remove掉并且将a指向null后,除了WeakHashMap中还保存a外已经

  • jdk7 中HashMap的知识点总结

    HashMap中的几个重要变量 默认初始容量,必须是2的n次方 static final int DEFAULT_INITIAL_CAPACITY = 16; 最大容量,当通过构造方法传入的容量比它还大时,就用这个最大容量,必须是2的n次方 static final int MAXIMUM_CAPACITY = 1 << 30; 默认负载因子 static final float DEFAULT_LOAD_FACTOR = 0.75f; 用来存储键值对,可以看到键值对都是存储在Entry中的

  • java中Hashtable和HashMap的区别分析

    1.Hashtable是Dictionary的子类, 复制代码 代码如下: public class Hashtable<K,V>     extends Dictionary<K,V>     implements Map<K,V>, Cloneable, java.io.Serializable HashMap: 复制代码 代码如下: public class HashMap<K,V>    extends AbstractMap<K,V> 

  • Java中HashMap和TreeMap的区别深入理解

    首先介绍一下什么是Map.在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.这就是我们平时说的键值对. HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的). HashMap 非线程安全 TreeMap 非线程安全 线程安全 在Java里,线程安全一般体

  • java HashMap通过value反查key的代码示例

    复制代码 代码如下: import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class MapValueGetKey {  public static void main(String[] args) {    Map map = new HashMap<>();    map.put(1,&qu

  • java遍历HashMap简单的方法

    本文实例讲述了java遍历HashMap简单的方法.分享给大家供大家参考.具体实现方法如下: import java.util.HashMap; import java.util.Iterator; import java.util.Set; public class HashSetTest { public static void main(String[] args) { HashMap map = new HashMap(); map.put("a", "aa"

随机推荐