TreeMap添加元素时异常 Comparable异常,treemapcompar
分类:计算机教程

TreeMap添加元素时异常 Comparable异常,treemapcomparable

package com.swift;

import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;

public class Map_keySet_entrySet {

    public static void main(String[] args) {
        /*
         * TreeMap 集合存储自定义对象,并使用 2 中方式遍历获取
         */

        Map<Person,String> hm = new HashMap<Person, String>();
        hm.put(new Person("lisi",18), "加拿大");
        hm.put(new Person("zhangsa",17), "澳大利亚");
        hm.put(new Person("zhangsa",17), "澳大利亚");
        hm.put(new Person("wangwu",20), "新加坡");
        hm.put(new Person("zhaoliu",19), "新西兰");
        hm.put(new Person("zhaoliu",19), "新西兰");
        hm.put(new Person("lisa",22), "迪拜");

        //使用TreeMap无法排序比较是会出现Comparable错误 这时需要自己弄比较器
        Map<Person,String> tree = new TreeMap<Person, String>(new Comparator<Person>() {

            @Override
            public int compare(Person arg0, Person arg1) {
                int num=arg0.getAge()-arg1.getAge();
                return num==0?arg0.getName().compareTo(arg1.getName()):num;
            }

        });
        tree.put(new Person("lisisi",18), "china");

        //keySet方法一
        Set<Person> set=hm.keySet();
        for(Person per:set) {
            System.out.println("人员:" per.toString() "来自:" hm.get(per));
        }

        Set<Person> set1=tree.keySet();
        for(Person per:set1) {
            System.out.println("人员:" per.toString() "来自:" tree.get(per));
        }

        //entrySet方法二
        for(Map.Entry<Person, String> en:hm.entrySet()) {
            System.out.println();
            System.out.println("人员:" en.getKey().toString() "来自:" en.getValue());
        }


        Map<Person,String> tree1 = new TreeMap<Person, String>(new Comparator<Person>() {

            @Override
            public int compare(Person arg0, Person arg1) {
                int num=arg0.getAge()-arg1.getAge();
                return num==0?arg0.getName().compareTo(arg1.getName()):num;
            }

        });
        tree1.put(new Person("fengqichanglin",18), "langyabang");
        System.out.println();
        Iterator<?> it=tree1.entrySet().iterator();
        while(it.hasNext()) {
            Entry<Person,String> entry=(Entry<Person, String>) it.next();
            System.out.println(entry.getKey().toString() entry.getValue());
        }


    }

}

 

http://www.bkjia.com/Javabc/1295713.htmlwww.bkjia.comtruehttp://www.bkjia.com/Javabc/1295713.htmlTechArticleTreeMap添加元素时异常 Comparable异常,treemapcomparable package com.swift; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.u...

1.2 Collections的排序

  • 根据元素的自然顺序对指定列表按升序进行排序。

    public static > void sort(List list)

  • 根据指定比较器产生的顺序对指定列表进行排序。

    public static void sort(List list,Comparator c)

 

  • 示例:

    package java17;

    import java.util.ArrayList; import java.util.Collections; import java.util.List;

    /**

    • 2017/10/10
    • 说明: */ public class CollectionsDemo { public static void main(String[] args) {

       List<String> list = new ArrayList<>();
       list.add("abcde");
       list.add("cdb");
       list.add("aaa");
       list.add("zzz");
       list.add("cdb");
      
       System.out.println("排序前:" list);
      
       Collections.sort(list);
       System.out.println("排序后:" list);
      
    }


}

男篮世界杯赔率 1

 

1.5 逆序&替换

  • 返回一个比较器,它强行逆转了Comparable接口的对象Collection的自然顺序。

    public static Comparator reverseOrder()

  • 返回一个比较器,它强行逆转了指定比较器的顺序。

    public static Comparator reverseOrder(Comparator cmp)

 

  • 示例:

    package java17;

    import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.TreeSet;

    /**

    • 2017/10/10
    • 说明: */ public class CollectionsDemo { public static void main(String[] args) {

       TreeSet<String> set = new TreeSet<>();
       set.add("abcde");
       set.add("cdb");
       set.add("aaa");
       set.add("zzz");
      
       System.out.println(set);
      
    }


}

男篮世界杯赔率 2

package java17;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.TreeSet;

/**
 * 2017/10/10
 * 说明:
 */
public class CollectionsDemo {
    public static void main(String[] args) {
        TreeSet<String> set = new TreeSet<>(Collections.reverseOrder());
        set.add("abcde");
        set.add("cdb");
        set.add("aaa");
        set.add("zzz");

        System.out.println(set);



    }


}

男篮世界杯赔率 3

 

  • 使用另一个值替换列表中出现的所有某一指定值。

    public static boolean replaceAll(List list,

                                     T oldVal,
                                     T newVal)
    

 

  • 示例:

    package java17;

    import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.TreeSet;

    /**

    • 2017/10/10
    • 说明: */ public class CollectionsDemo { public static void main(String[] args) {

       List<String> list = new ArrayList<>();
       list.add("abcde");
       list.add("cdb");
       list.add("aaa");
       list.add("zzz");
      
       Collections.replaceAll(list,"cdb","bdc");
       System.out.println(list);
      
    }


}

男篮世界杯赔率 4

2.1 概述

  • 此类包含用来操作数组的各种方法,如排序和搜索等。

 

1 Collections

1.6 将非线程安全的集合类装换为线程安全的集合类

  • 返回指定Collection支持的同步Collection。

    public static Collection synchronizedCollection(Collection c)

  • 返回指定列表支持的同步列表。

    public static List synchronizedList(List list)

  • 返回指定映射支持的同步映射。

    public static Map synchronizedMap(Map男篮世界杯赔率, m)

  • 返回指定set支持的同步set。

    public static Set synchronizedSet(Set s)

  • 返回指定有序映射支持的同步有序映射。

    public static SortedMap synchronizedSortedMap(SortedMap m)

  • 返回指定有序Set支持的同步有序Set。

    public static SortedSet synchronizedSortedSet(SortedSet s)

 

本文由美洲杯赔率发布于计算机教程,转载请注明出处:TreeMap添加元素时异常 Comparable异常,treemapcompar

上一篇:php get_defined_constants 函数【男篮世界杯赔率】 下一篇:没有了
猜你喜欢
热门排行
精彩图文
  • PHP实现Soap通讯的方法
    PHP实现Soap通讯的方法
    本文实例讲述了PHP实现Soap通讯的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下: ?php function HttpSoap($server, $port, $url, $namespace, $act
  • 男篮世界杯赔率php结合js实现点击超链接执行删除
    男篮世界杯赔率php结合js实现点击超链接执行删除
    如题,本次是要实现点击超链接实现执行js代码,并确认是否删除数据库数据,采用php。 首先链接数据库,查询数据库数据: 复制代码 代码如下: ?php $db
  • js出生日期 年月日级联菜单示例代码
    js出生日期 年月日级联菜单示例代码
    现在世界通用的公历(阳历)也经过一个长期演变的过程。我们先看,公历每个月的日数是固定的:"七前单大,八后双大"。也就是说,一、三、五、七、
  • php.ini 中文版
    php.ini 中文版
    ; 错误报告是按位的。或者将数字加起来得到想要的错误报告等级。 ; E_ALL - 所有的错误和警告 ; E_ERROR - 致命性运行时错 ; E_WARNING - 运行时警告(非致命性
  • PHP编码转换男篮世界杯赔率
    PHP编码转换男篮世界杯赔率
    SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS','CodePage') 男篮世界杯赔率,返回为936,即GBK编码。 936 简体中文GBK 950 繁体中文BIG5 437 美国/加拿大英语 932 日文