源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

浅谈java中的TreeMap 排序与TreeSet 排序

  • 时间:2021-12-03 08:02 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:浅谈java中的TreeMap 排序与TreeSet 排序
[b]TreeMap:[/b]
package com;

import java.util.Comparator;
import java.util.TreeMap;

public class Test5 {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  TreeMap<String, String> tree = new TreeMap<String, String>(
    new Comparator<Object>() {
     @Override
     public int compare(Object o1, Object o2) {
      // TODO Auto-generated method stub
      if(o1 == null || o2 == null){
       return 0;
      }
      
      return o1.toString().compareTo(o2.toString());
     }
    }
  );
    
  
  tree.put("k", "1");
  tree.put("ba", "2");
  tree.put("z", "3");
  tree.put("d", "4");
  tree.put("e", "5");
  tree.put("an", "6");
  tree.put("c", "7");
  
  for(String str : tree.keySet()){
   System.out.println(str);
  }
 }
}
经测试默认是按照 KEY 进行排序的。 但是可以写对象比较器,进行自定义排序。 [b]TreeSet :[/b] 自定义倒序排序,默认按照正序排序,1,2,3,4,5,6
package com;

import java.util.Comparator;
import java.util.TreeSet;

public class Test6 {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  TreeSet<Object> tree = new TreeSet<Object>(new Comparator<Object>() {

   @Override
   public int compare(Object o1, Object o2) {
    // TODO Auto-generated method stub
    if(o1 == null || o2 == null){
     return 0;
    }
    
    if(Integer.parseInt(o1.toString()) > Integer.parseInt(o2.toString())){
     return -1;
    }else if(Integer.parseInt(o1.toString()) < Integer.parseInt(o2.toString())){
     return 1;
    }else{
     return 0;
    }
   }
  });
  
  tree.add(4);
  tree.add(5);
  tree.add(6);
  tree.add(1);
  tree.add(2);
  tree.add(3);

  for(Object o : tree){
   System.out.println(o);
  }
 }

}
以上这篇浅谈java中的TreeMap 排序与TreeSet 排序就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部