精华内容
下载资源
问答
  • 1.往treeMap添加元素的时候,如果元素本身具备了自然顺序的特性,那么就按照元素自然顺序特性进行排序储存。 2.往treeMap添加元素的时候,如果元素的键本身 不具备 自然顺序的特性,那么该键所属的类必须要实现...

    双列集合:数据是成对存在的,存在映射关系。

    TreeSet要注意的事项:
    1.往treeMap里添加元素的时候,如果元素本身具备了自然顺序的特性,那么就按照元素自然顺序特性进行排序储存。
    2.往treeMap里添加元素的时候,如果元素的键本身 不具备 自然顺序的特性,那么该键所属的类必须要实现Comparable接口,把键的
    比较规则定义在comparTo(T o)方法上。
    3.往treeMap添加元素的时候,如果元素的键本身没有具备自然顺序的特性,而键所属的类也没有实现comparable接口,那么必须在创建treeset对象
    的时候传入一个比较器。
    定义一个比较器: 自定义一个类实现comparator接口即可,把元素的键与元素的键之间的比交规则定义在compare内即可。
    class 类名 implements comparator{
    }

    展开全文
  • 添加元素时顺序如下,而遍历treeMap 时顺序是contact_way,crm_name,contacts_name,混乱了 TreeMap<String, String> treeMap = new TreeMap<String, String>(); treeMap.put("crm_n...

    java遍历TreeMap元素顺序不是添加的顺序问题

     

    解决方法:

    添加元素时顺序如下,而遍历treeMap 时顺序是contact_way,crm_name,contacts_name,混乱了

    TreeMap<String, String> treeMap = new TreeMap<String, String>();

     treeMap.put("crm_name", "客户名称");

     treeMap.put("contacts_name", "联系人");

     treeMap.put("contact_way", "联系方式");

     

    原因是TreeMap按照添加的key值排序的,所以不能使用TreeMap,使用:http://www.yayihouse.com/yayishuwu/chapter/1929

    展开全文
  • TreeMap添加元素的时候,如果元素的键具备自然顺序,那么就会按照键的自然顺序特性进行排序存储。 往TreeMap添加元素的时候,如果元素的键不具备自然顺序特性, 那么键所属的类必须要实现Comparable接口,把键 的...

    TreeMap也是基于红黑树(二叉树)数据结构实现 的, 特点:会对元素的键进行排序存储。
    注意事项:

    1. 往TreeMap添加元素的时候,如果元素的键具备自然顺序,那么就会按照键的自然顺序特性进行排序存储。
    2. 往TreeMap添加元素的时候,如果元素的键不具备自然顺序特性, 那么键所属的类必须要实现Comparable接口,把键
      的比较规则定义在CompareTo方法上。
    3. 往TreeMap添加元素的时候,如果元素的键不具备自然顺序特性,而且键所属的类也没有实现Comparable接口,那么就必须
      在创建TreeMap对象的时候传入比较器。
    class Emp {//implements Comparable<Emp>{
     	String name;
     	int salary;
     	public Emp(String name, int salary) {
      		super();
      		this.name = name;
      		this.salary = salary;
     	}
     	@Override
     	public String toString() {
      		return "[姓名:"+this.name+" 薪水:"+ this.salary+"]";
     	}
    /*
     	@Override
     	public int compareTo(Emp o) {
      		return this.salary - o.salary;
     	}*/
    }
    //自定义一个比较器
    class MyComparator implements Comparator<Emp>{
     	public int compare(Emp o1, Emp o2) {
      		return o1.salary - o2.salary;
     	} 
    }
    public class Demo6 {
     	public static void main(String[] args) {
     /*  TreeMap<Character, Integer> tree = new TreeMap<Character, Integer>();
      	tree.put('c',10);
      	tree.put('b',2);
      	tree.put('a',5);
      	tree.put('h',12);
      	System.out.println(tree);*/
      //创建一个自定义比较器
      	MyComparator comparator = new MyComparator();
      	TreeMap<Emp, String> tree = new TreeMap<Emp, String>(comparator);
      	tree.put(new Emp("冰冰", 2000),"001");
      	tree.put(new Emp("家宝", 1000),"002");
      	tree.put(new Emp("习总", 3000),"003");
      	tree.put(new Emp("克强", 5000),"005");
      	tree.put(new Emp("财厚", 5000),"008");
      	System.out.println(tree); 
     	}
    }
    展开全文
  • 集合9——TreeMap

    2019-08-22 17:01:36
    TreeMap<Character,Integer> tree=new TreeMap(); tree.put('a', 97); tree.put('b', 98); ... tree.put('c', 99);...1.往TreeMap添加元素时,如果元素的键具备自然顺序的特点,那么就会按顺序...
    TreeMap<Character,Integer> tree=new TreeMap();
      tree.put('a', 97);
      tree.put('b', 98);
      tree.put('c', 99);
      System.out.println(tree);
    

    在这里插入图片描述
    TreeMap要注意的事项:
    1.往TreeMap添加元素时,如果元素的键具备自然顺序的特点,那么就会按顺序存储
    2.如果元素的键不具备自然顺序的特点,那么键所属的类必须实现comparable接口,把键的比较规则定义在compareTo方法上
    3.如果元素的键不具备自然顺序的特点,而且键所属的类也没有实现comparable接口,那么久必须在创建TreeMap对象时传入比较器

    方式一:实现接口

    class Emp implements Comparable{
     int id;
     int salary;
     public Emp(int id,int salary){
      this.id=id;
      this.salary=salary;
     }
     @Override
     public int compareTo(Object o) {
      // TODO Auto-generated method stub
      Emp e=(Emp)o;
      return this.salary-e.salary;
     }
     @Override
     public String toString() {
      // TODO Auto-generated method stub
      return "编号:"+this.id+" 工资:"+this.salary;
     } 
    }
    public class Test5 {
     public static void main(String[] args) {  
      TreeMap<Emp,String> map=new TreeMap();
      map.put(new Emp(1, 100),"001");
      map.put(new Emp(2, 50), "002");
      map.put(new Emp(3, 400), "003");
      map.put(new Emp(4, 300),"004");
      System.out.println(map);  
     }
    }
    
    

    在这里插入图片描述
    方式二:自定义一个比较器

    class MyComparator implements Comparator<Emp>{
     @Override
     public int compare(Emp o1, Emp o2) {
      // TODO Auto-generated method stub
      return o1.salary-o2.salary;
     } 
    }
    public class Test6 {
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      MyComparator myComparator=new MyComparator();
      TreeMap<Emp, String> map=new TreeMap(myComparator);
      map.put(new Emp(1, 100),"001");
      map.put(new Emp(2, 50), "002");
      map.put(new Emp(3, 400), "003");
      map.put(new Emp(4, 300),"004");
      System.out.println(map);
     }
    }
    

    在这里插入图片描述

    展开全文
  • TreeMap

    2019-08-12 18:46:43
    添加速度和删除速度 高于ArrayList,比其他的都低; 查询速度 高于List ,低于Hash 如果对于存储的数据有排序的要求,首选TreeMap 迭代元素 获取键 迭代键的过程中通过get方法获取值 public static void main...
  • 1、TreeMap 简介 TreeMap 使用红黑树存储元素,可以保证元素按key值的...由于 TreeMap 底层采用一棵“红黑树”来保存集合中的 Entry,这意味 TreeMap 添加元素、取出元素的效率都比 HashMap 低: ????当向 TreeMap...
  • 使用TreeMap无法排序比较是会出现Comparable错误 这时需要自己弄比较器 Map,String> tree = new TreeMap, String>( new Comparator () { @Override public int compare(Person arg0, Person arg1) { ...
  • JAVA8之TreeMap

    2020-06-15 00:13:36
    JAVA8 之 TreeMap类继承层次底层数据结构添加元素主要方法时间复杂度TreeMap隐藏黑科技一致性哈希线程安全 类继承层次 底层数据结构 红黑树 TreeMap虽然也是map但是已经不存在hash表的概念 添加元素 重点看一下...
  • 前言TreeMap的基本概念:TreeMap集合是基于红黑树(Red-Black tree)的 NavigableMap实现。...就是说TreeMap可以对添加进来的元素进行排序,可以按照默认的排序方式,也可以自己指定排序方式。根据上一...
  • Map里面存放的每一个元素都是key-value这样的键值对,而且都是通过put方法进行添加的,而且相同的key在Map中只会有一个与之关联的value存在。put方法在Map中的定义如下。  V put(K key, V value);  它用来存放...
  • TreeMap源码分析

    2019-10-05 21:53:54
    TreeMap源码分析 前言 TreeMap的基本概念: TreeMap集合是基于红黑树(Red-Black tree)的 NavigableMap实现。该集合最重要的特点就是可...就是说TreeMap可以对添加进来的元素进行排序,可以按照默认的排序方式,...
  • TreeMap 底层原理

    2019-06-04 19:57:39
    目录 一:TreeMap的基本概念: 二:源码解析 一:TreeMap的基本概念: TreeMap集合是基于红黑树(Red-Black tree)的 NavigableMap实现。该集合最重要的特点就是可排序...就是说TreeMap可以对添加进来的元素进行...
  • 让我们首先创建一个TreeMap添加一些元素-TreeMapm=newTreeMap();m.put(1,"India");m.put(2,"US");m.put(3,"Australia");m.put(4,"Netherlands");m.put(5,"Canada");现在让我们删除键。在这里,我们现在要删除键3-m...
  • 16、TreeMap的使用

    2021-03-17 21:59:01
    16、TreeMap的使用 (1)基本概念 ...添加元素测试 //新家集合 TreeMap<Student,String> treeMap=new TreeMap<> (); //新建对象 Student s1=new Student ("l",101); Student s2=new St
  • 让我们用Java创建TreeMap。...现在让我们添加一些元素-m.put(1,"PHP");m.put(2,"jQuery");m.put(3,"JavaScript");m.put(4,"Ruby");m.put(5,"Java");m.put(6,"AngularJS");m.put(7,"ExpressJS");以下是创...
  • TreeMap深入学习

    2015-01-30 13:14:00
    TreeMap 实现 SortedMap接口,put(K key, V value)方法在每添加一个元素时,都会自动按照键值升序排序。 [color=red]TreeMap 只能根据键排序,不能根据值排序,要想根据值排序,只能自己遍历特殊处理 TreeMap ...
  • TreeMap的存储结构和TreeSet都是基于红黑树来实现,通过看源码我们可以知道,TreeSet的底层就是使用了TreeMap,其中TreeSet的add方法也是根据TreeMap的key值来进行添加。我们都知道,红黑树是基于二叉排序树来进一步...
  • TreeMap源码阅读总结

    2020-07-22 15:22:40
    TreeMap底层的数据结构就是一颗红黑树。 TreeMap是一个有序的key-value集合,因为他的...初始化推迟到put添加元素时。 Entry<K,V> t = root; if (t == null) { compare(key, key); // type (and possibly n
  • TreeMap的底层原理

    千次阅读 2018-11-02 14:39:31
    TreeMap默认按键的升序进行排序,不允许...当添加一个元素(key-value)的时候,根据key的hash值来确定插入到哪一个桶中(确定插入数组中的位置),当桶中有多个元素时,使用红黑树进行保存;当一个桶中存放的数据过多,那么根...
  • /* 返回元素个数 */ public int size() { return size; } /* 是否包含指定的key */ public boolean containsKey(Object key) { return getEntry(key) != null; } /* 是否包含指定的value值,从 getFirstEntry()获取...
  • TreeMap的底层实现

    千次阅读 2018-06-04 11:23:12
    TreeMap的基本概念:· TreeMap集合是基于红黑树(Red-Black tree)的 NavigableMap实现。...就是说TreeMap可以对添加进来的元素进行排序,可以按照默认的排序方式,也可以自己指定排序方式。· 根据...
  • Java中treeMap 【案例】

    2020-12-10 22:11:20
    treeMap 案例 /* * TreeMap的使用 * 存储结构:红黑树 * */ public class TreeMapTest { public static void main(String[] args) { //创建集合 TreeMap<... //添加元素 Student s1=new Stu
  • Hashmap与Treemap的区别

    2019-06-26 12:36:07
    HashMap通过hashcode对其内容进行快速查找,而 TreeMap中所有的元素都保持着某种固定的顺序,如果你需要得到一个有序的结果你就应该使用TreeMap(HashMap中元素的排列顺序是不固定的)。 HashMap 非线程安全 TreeMap...
  • TreeMap - 测试类 package TreeMap_UtilityClass; import sun.reflect.generics.tree.Tree; import java.util.*; ... * TreeMap测试类 ... // 向映射中添加元素(键不可以重复,值可以重复) TreeMap<I
  • Java.lang.Comparble+compareTonew TreeSet()用这种方法必须要求实体类实现Comparable接口,也就是说要求添加到TreeSet中的元素是可排序的2. java.util.Comparator +compare举个TreeSet栗子:package com.etc.test;...
  • (集合) TreeMap

    2019-07-07 14:38:16
    键是红黑树结构,可以保证键的排序和唯一性 例一:存储HashMap<String,String> // 创建集合对象 TreeMap<String, String>... // 创建元素并添加元素 tm.put("hello", "你好"); tm.put("...
  • TreeMap和TreeSetTreeMap概念特点构造方法内部组成方法执行保存键值对 put根据键获取值查看是否包含某个值根据键删除键值对TreeMap总结TreeSet概念特点构造方法内部组成方法执行添加元素查看是否包含元素删除元素...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 375
精华内容 150
关键字:

treemap添加元素