java hashtable 排序问题

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Hashtable<String, String> h = new
Hashtable<String, String>();

h.put("6", "666");

h.put("8", "888");

h.put("2", "222");

<br>for
(String key : h.keySet())

  System.out.println(key);

System.out.println("----------------------------------------------------------");

List<String> v = new
ArrayList<String>(h.keySet());

Collections.sort(v, new
Comparator<Object>() {

  public
int compare(Object arg0, Object arg1) {

    return
Integer.valueOf(arg0.toString()) - Integer.valueOf(arg1.toString());    // 升序,参数顺序对调时降序<br>  }

});

for (String key : v)

  System.out.println(key + " "
+ h.get(key));

hashtable默认以主键降序存储,包括数值和字符串主键,对象类型主要未测试。

java hashtable 排序问题,码迷,mamicode.com

时间: 2024-09-29 23:06:14

java hashtable 排序问题的相关文章

java集合排序问题

List: 元素是有序的,元素可以重复,因为该集合体系有索引(脚标) 常用的子类对象: 1----ArrayList 底层的数据结构是使用的数组结构特点:查询速度快,但是增删比较慢 2----LinkedList底层的数据结构使用的是链表结构特点:增删速度快,但是查询比较慢 Vector 底层是数组数据结构. 线程同步,ArrayList线程不同步,替代了vector ArrayList 是可变长度数组,默认长度是10,当添加的元素大于10时,系统自动new一个新的数组且增长原数组的一半长度,并

Java Hashtable 数据结构

前言: 今天看Hashtable源码,开始以为Hashtable就是一个Entry[] int hash = key.hashCode(); int index = (hash & 0x7FFFFFFF) % tab.length; for (Entry<K,V> e = tab[index] ; e != null ; e = e.next) { if ((e.hash == hash) && e.key.equals(key)) { V old = e.value;

Java Hashtable 的使用

<THINKING IN JAVA>以及网上资料整理: Java中的Hashtable的用法: Java包含两个类,java.util.Hashtable 和java.util.HashMap,它们提供了一个多种用途的hashtable机制.Hashtable和HashMap对象可以让你把一个key和一个value结合起来,并用put() 方法把这对key/value输入到表中.然后你可以通过调用get()方法,把key作为参数来得到这个value(值).只要满足两个基本的要求,key和val

Java Hashtable 源码(JDK8)

记录了HashMap也来看看Hashtable吧,最近打算换份实习,所以想看看书回顾一下,不然就快记不得了.....囧啊囧啊,记性太差怎么破??? Hashtable里面的一些变量: Entry<?,?>[] table : HashTable采用"拉链法"实现哈希表,每一个Entry代表了一个键值对(key-value). transient int count:hashtable里面键值对的个数; private int threshold:hashtable的阀值(t

Java hashtable和hastmap的区别

1. 继承和实现区别 Hashtable是基于陈旧的Dictionary类,完成了Map接口:HashMap是Java 1.2引进的Map接口的一个实现(HashMap继承于AbstractMap,AbstractMap完成了Map接口). 2. 线程安全不同 HashTable的方法是同步的,HashMap是未同步,所以在多线程场合要手动同步HashMap. 3. 对null的处理不同 HashTable不允许null值(key和value都不可以),HashMap允许null值(key和va

Java Hashtable的实现

先附源码: /* * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package java.util; import java.io.*; /** * This cla

java Map排序问题

java 中,Map常见的有HashMap ,TreeMap等等,Map是一个接口,我们不能直接声明一个Map类型的对象,在实际开发 中,比较常用的Map性数据结构是HashMap和TreeMap,它们都是Map的直接子类.java中的Map结构是key->value键值对存储的,而且根据Map的特性,同一个 Map中不存在两个Key相同的元素,而value不存在这个限制.换句话说,在同一个Map中Key是 唯一的,而value不唯一.如果考虑到存 取效率的话,建议使用HashMap数据结构,而

java 集合排序问题

3种排序 TreeSet <T>:  排序:必须在对象所属的类<T>中实现java.lang.Comparable接口,并且重写toCompare()方法. List <T>+ Collection工具类: Collections.sort(list):需要实现Comparable接口,并且重写toCompare()方法. Collections.sort(list,new Comparator(){@Override public int compare(Object

java中文排序问题(转)

在Java中,对一个数组或列表(在本文中统称为集合)中的元素排序,是一个很经常的事情.好在Sun公司在Java库中实现了大部分功能.如果集合中的元素实现了Comparable接口,调用以下的静态(static)方法,就可以直接对集合排序. // 数组排序方法// 数组中的元素可以是像int这样的原生类型(primitive type), 也可以是像String这样实现了Comparable接口的类型,这里用type表示. java.util.Arrays.sort(type[] a); // 列