`

java 中 Hashtable 排序 (转)

    博客分类:
  • java
阅读更多
import java.util.Arrays;
import java.util.Comparator;
import java.util.Hashtable;
import java.util.Map;
import java.util.Set;

public class HastableSort {
    /**
     * 方法名称:getSortedHashtable 参数:Hashtable h 引入被处理的散列表
     * 描述:将引入的hashtable.entrySet进行排序,并返回
     */
    public static Map.Entry[] getSortedHashtableByKey(Hashtable 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;
    }

    /**
     * 方法名称:getSortedHashtable 参数:Hashtable h 引入被处理的散列表
     * 描述:将引入的hashtable.entrySet进行排序,并返回
     */
    public static Map.Entry[] getSortedHashtableByValue(Hashtable 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) {
                int key1 = Integer.parseInt(((Map.Entry) arg0).getValue()
                        .toString());
                int key2 = Integer.parseInt(((Map.Entry) arg1).getValue()
                        .toString());
                return ((Comparable) key1).compareTo(key2);
            }
        });

        return entries;
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        Hashtable t = new Hashtable();

        t.put("10-11 02:45德利城VS德罗赫达联队", "德利城VS德罗赫达联队");
        t.put("10-11 02:45朗福德城VS谢尔伯恩", "朗福德城VS谢尔伯恩");
        t.put("10-11 05:00EL国民队VS托拉卡", "EL国民队VS托拉卡");
        t.put("10-11 02:00巴西VS厄瓜多尔", "巴西VS厄瓜多尔");

        Map.Entry[] set = getSortedHashtableByKey(t);

        // perportyTable
        for (int i = 0; i < set.length; i++) {
            System.out.println(set[i].getKey().toString());
            System.out.println(set[i].getValue().toString());
        }

    }

}
分享到:
评论

相关推荐

    hashtable排序

    实现hashtable按值排序和按key排序,可直接运行

    HashTable排序.txt

    ### HashTable排序概念 `HashTable`是一种数据结构,用于存储键值对。在Java中,`Hashtable`类实现了`Map`接口,提供了基于哈希表的数据结构。但是,`Hashtable`本身不保证其元素的顺序。当需要根据键或值对`...

    在Java中运用Hashtable.doc

    ### 在Java中运用Hashtable #### 一、哈希表(Hashtable)的概念与作用 哈希表(Hashtable)是一种数据结构,它可以快速地插入、删除和查找数据。在计算机科学领域,哈希表早已不是新鲜事物,它能显著提高程序处理...

    java中HashMap,LinkedHashMap,TreeMap,HashTable的区别

    ### Java中HashMap, LinkedHashMap, TreeMap,HashTable的区别 在Java编程语言中,`Map`接口是集合框架中的一个重要组成部分,用于存储键值对。本文将详细分析四种常用的`Map`实现类:`HashMap`, `LinkedHashMap`, ...

    java map实例,排序

    `Hashtable`是Java早期版本中的类,它与`HashMap`类似,但不支持null键和null值,且是线程安全的。由于其线程安全性,`Hashtable`在多线程环境下无需额外的同步措施,但在单线程环境下,它的性能通常低于非同步的`...

    比hashtable查找起来方便,转换类型也简单

    标题中的“比hashtable查找起来方便,转换类型也简单”暗示了我们正在讨论一个与`Hashtable`类有关的Java编程话题。`Hashtable`是Java集合框架中的一员,它是一个线程安全的键值对存储容器,但随着Java的发展,一些...

    实例5 哈希表(Hashtable)和枚举器

    哈希表(Hashtable)是Java中的一个核心数据结构,它基于键值对(key-value pair)的概念,提供了高效的存储和查找功能。在Java标准库中,`java.util.Hashtable`类实现了可存储任意对象的键值对容器。这个类自Java ...

    java接口API,LIST,HASHTABLE

    集合框架是Java中处理一组对象的标准库,包括接口(如`Collection`、`List`、`Set`等)、接口的实现(如`ArrayList`、`LinkedList`、`HashSet`等)和算法(如排序、搜索等操作)。`Collection`是最基础的接口,所有...

    HashMap与HashTable和HashSet的区别

    在Java集合框架中,`HashMap`, `HashTable` 和 `HashSet` 是三个重要的数据结构,它们分别实现了`Map`接口和`Set`接口,提供了不同的功能来满足不同的编程需求。本文将重点分析这三种数据结构之间的区别,特别是针对...

    java中相似概念的区别

    在Java编程语言中,存在着众多看似相似但实质上有着显著区别的概念,这些概念的深入理解对于编程者来说至关重要。本文将重点解析标题与描述中提及的一些关键知识点,包括final、finally、finalize的区别,以及...

    java 中如何从LIST 对象取值

    在Java编程语言中,列表(List)是一种常用的数据结构,用于存储有序的元素集合。本文将深入探讨如何从List对象中获取数据,包括使用不同类型的List实现以及从List中提取特定值的方法。我们将通过示例代码来理解这些...

    Javapython for leetcode 1 array2 list3 string4 hashtable5 m.zip

    标题 "Javapython for leetcode 1 array2 list3 string4 hashtable5 m.zip" 提供的信息表明,这个压缩包包含了一系列与LeetCode题目相关的Java和Python编程解决方案,重点涉及了数组、列表、字符串、哈希表(或字典...

    Java Map 按照Value排序的实现方法

    在Java编程中,Map接口是用于存储键值对的数据结构,常见的实现类包括HashMap、TreeMap、Hashtable和LinkedHashMap等。这些实现类各有特点,但默认并不保证元素的顺序。当我们需要按照Value(值)对Map进行排序时,...

    Java容器类List、ArrayList、Vector及map、HashTable应用

    ### Java容器类详解:List、ArrayList、Vector及Map、HashTable应用 #### 一、Java容器类概述 在Java中,容器类(也称为集合类)主要用于存储和管理对象。Java SDK提供了一系列内置容器类,它们位于`java.util`...

    Java Map 按key排序和按Value排序的实现方法

    本文主要关注如何对Java Map中的键(key)和值(value)进行排序。 1. **Key排序**: - **TreeMap** 是一个基于红黑树数据结构的Map实现,它能自动按key的自然顺序或自定义的Comparator进行排序。默认情况下,...

    HashMapvs.TreeMapvs.Hashtable

    在Java编程语言中,`HashMap`、`TreeMap`和`Hashtable`是三种常见的集合类,它们都实现了`Map`接口,用于存储键值对数据。理解这些类的区别和应用场景对于提升Java开发技能至关重要。 首先,`HashMap`是Java中最...

    Java中HashMap和Hashtable及HashSet的区别

    在Java编程语言中,`HashMap`、`Hashtable`和`HashSet`都是集合框架的重要组成部分,分别用于存储键值对和不重复元素。下面将详细解释它们之间的区别。 首先,`Hashtable`是`Map`接口的一个早期实现,它提供了一个...

    实用数据结构教程_Java语言描述.zip

    Java的`java.util.HashMap`和`java.util.Hashtable`是实现哈希表的例子,支持O(1)的平均时间复杂度查找和插入。 8. 排序算法:包括冒泡排序、选择排序、插入排序、快速排序、归并排序等,它们是数据结构的重要部分...

    数据结构常考知识点(java实现版)

    Java的HashMap和Hashtable类实现了哈希表,其中HashMap是非同步的,而Hashtable是线程安全的。 7. 集合: Set接口代表不包含重复元素的集合,Java提供了HashSet和TreeSet实现。List接口代表有序的元素集合,...

Global site tag (gtag.js) - Google Analytics