java集合TreeMap、Hashtable

简介: package ca.map;import java.util.Comparator;import java.util.Enumeration;import java.util.HashMap;import java.util.Hashtable;import java.util.LinkedList;import java.util.TreeMap;public cla
package ca.map;

import java.util.Comparator;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.LinkedList;
import java.util.TreeMap;

public class TreeMapDome {
    //1、TreeMap如不指定排序器,默认将按照key值进行升序排序,如果指定了排序器,则按照指定的排序器进行排序。
    //2、具体的排序规则,开发人员可以在int compare()方法中进行指定。
    public static void main(String[] args) {
        //不指定排序器
        TreeMap<String, String> stm =  new TreeMap<String, String>();
        stm.put("2", "22");
        stm.put("b", "BB");
        stm.put("1","11");
        stm.put("a", "AA");
        TreeMap<String, String> stm1 =  new TreeMap<String, String>();
        stm1.put("2", "22");
        stm1.put("b", "BB");
        stm1.put("1","11");
        stm1.put("a", "AA");
        System.out.println(stm1.equals(stm));
        System.out.println(stm==stm1);
        System.out.println(stm.hashCode());
        System.out.println(stm1.hashCode());
        System.out.println("TreeMapSortByDefault:"+stm1);
        System.out.println();
        TreeMap<String, String> stm2 = new TreeMap<String, String>(new Comparator<String>() {
            /* 
             * int compare(Object o1, Object o2) 返回一个基本类型的整型, 
             * 返回负数表示:o1 小于o2, 
             * 返回0 表示:o1和o2相等, 
             * 返回正数表示:o1大于o2。 
             */ 
            public int compare(String o1, String o2) {
              //指定排序器按照降序排列 
                return o2.compareTo(o1);
            }
        });
        stm2.put("2", "22");
        stm2.put("b", "BB");
        stm2.put("1","11");
        stm2.put("a", "AA");
        System.out.println("TreeMapSortByDefaul2t:"+stm2);
        Hashtable<String,String> htb = new Hashtable<String, String>();
        htb.put("1", "aa");
        htb.put("2", "bb");
        htb.put("3", "cc");
        System.out.println("hash table:"+htb);
        System.out.println();
        //参数initialCapacity是Hashtable的初始容量,它的值应大于0。loadFactor又称装载因子,是一个0.0到0.1之间的float型的浮点数。它是一个百分比,表明了哈希表何时需要扩充
        Hashtable<String, String> hashTB = new Hashtable<String, String>(5, 0.7f);
        hashTB.put("1", "beijing");
        hashTB.put("2", "tianjing");
        hashTB.put("3", "lanzhou");
        Enumeration enumer = hashTB.elements();
        while(enumer.hasMoreElements()){
            String s = (String) enumer.nextElement();
            System.out.print(s+"  ");
        }
    }
}

输出为:

true
false
7398
7398
TreeMapSortByDefault:{1=11, 2=22, a=AA, b=BB}


TreeMapSortByDefaul2t:{b=BB, a=AA, 2=22, 1=11}
hash table:{3=cc, 2=bb, 1=aa}


beijing  lanzhou  tianjing  



目录
相关文章
|
29天前
|
Java
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
【Java】如果一个集合中类型是String如何使用拉姆达表达式 进行Bigdecimal类型计算?
25 0
|
1月前
|
算法 Java 数据处理
Java集合框架的优缺点
Java集合框架的优缺点
|
1月前
|
网络协议 算法 Java
|
12天前
|
存储 Java 编译器
Java集合丛林:深入了解集合框架的秘密
Java集合丛林:深入了解集合框架的秘密
15 0
Java集合丛林:深入了解集合框架的秘密
|
15天前
|
Java BI
Java 获取周,月,年日期集合(统计图)
Java 获取周,月,年日期集合(统计图)
Java 获取周,月,年日期集合(统计图)
|
26天前
|
存储 安全 Java
【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实战指南(不可变集合篇)
【Java技术专题】「Guava开发指南」手把手教你如何进行使用Guava工具箱进行开发系统实战指南(不可变集合篇)
30 1
|
1月前
|
缓存 NoSQL Java
java中复杂业务情况下的集合操作(增减集合同步数据)
java中复杂业务情况下的集合操作(增减集合同步数据)
27 0
|
1月前
|
存储 Java
java中的集合
java中的集合
9 2
|
1月前
|
存储 安全 Java
JAVA集合类概述
JAVA集合类概述
9 0
|
1月前
|
存储 安全 Java
Java中的集合框架:深入理解与应用
【2月更文挑战第26天】 在Java编程中,集合框架是日常开发不可或缺的部分。它提供了一组性能优良的接口和类,用于存储和操作对象组。本文将详细解析Java集合框架的核心组件,包括其层次结构、主要接口及实现类,并探讨如何在不同场景下高效地使用它们。通过具体示例,我们将揭示集合操作的最佳实践,以及如何避免常见的陷阱和错误。
19 5