零基础 您所在的位置:网站首页 有序list怎么自定义比较器 零基础

零基础

2024-07-16 13:08| 来源: 网络整理| 查看: 265

使用TreeSet实现定制排序

我们知道: 一、TreeSet类不但实现了Set的接口,而且还实现了所谓的的java.util.SortedSet接口,所以呢在遍历集合时会进行默认的排序,即升序排列。 eg1(Integer):

package Set类; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; //创建一个(默认的升序)UnTreeSetTest类... public class UnTreeSetTest { public static void main(String[] args) { // TODO Auto-generated method stub TreeSet achievements =new TreeSet(); //向该集合中添加元素...啦啦啦 achievements.add(-8); achievements.add(5); achievements.add(0); achievements.add(-3); achievements.add(6); //创建Iterator迭代器...啦啦啦 Iterator superiter = achievements.iterator(); //遍历得到集合元素》...嘻嘻嘻 while(superiter.hasNext()) {//这个应该都知道吧...哈哈哈 System.out.println(superiter.next()); } } }

运行结果:在这里插入图片描述

package Set类; import java.util.Iterator; import java.util.Set; import java.util.TreeSet; //创建一个(默认的升序)UnTreeSetTest类... public class UnTreeSetTest { public static void main(String[] args) { // TODO Auto-generated method stub TreeSet achievements =new TreeSet(); //向该集合中添加元素...啦啦啦 achievements.add('h'); achievements.add('d'); achievements.add('r'); achievements.add('k'); achievements.add('t'); //创建Iterator迭代器...啦啦啦 Iterator superiter = achievements.iterator(); //遍历得到集合元素》...嘻嘻嘻 while(superiter.hasNext()) {//这个应该都知道吧...哈哈哈 System.out.println(superiter.next()); } } }

运行结果:运行结果: 以上就是默认升序; 二、那如何使用使用TreeSet实现降序排序呢?我们需要使用Comparator接口 eg3(Integer):

package Set类; import java.util.TreeSet; import java.util.Comparator; public class OrderTreeSet { public static void main(String[] args) { // TODO Auto-generated method stub Integer sequence1 = new Integer(9); Integer sequence2 = new Integer(-3); Integer sequence3 = new Integer(0); Integer sequence4 = new Integer(3); Integer sequence5 = new Integer(-2); TreeSettreeSet = new TreeSet(new Comparator() { public int compare(Integer o1, Integer o2) { return -(o1-o2); } }); treeSet.add(sequence1); treeSet.add(sequence2); treeSet.add(sequence3); treeSet.add(sequence4); treeSet.add(sequence5); System.out.println(treeSet); } }

运行结果:运行结果: eg4(Character):

package Set类; import java.util.TreeSet; import java.util.Comparator; public class OrderTreeSet { public static void main(String[] args) { // TODO Auto-generated method stub Character sequence1 = new Character('h'); Character sequence2 = new Character('o'); Character sequence3 = new Character('g'); Character sequence4 = new Character('v'); Character sequence5 = new Character('a'); TreeSettreeSet = new TreeSet(new Comparator() { public int compare(Character o1, Character o2) { return -(o1-o2); } }); treeSet.add(sequence1); treeSet.add(sequence2); treeSet.add(sequence3); treeSet.add(sequence4); treeSet.add(sequence5); System.out.println(treeSet); } }

运行结果: 运行结果: 以上就是关于TreeSet定制排序(降序)的相关问题了,希望对大家有帮助。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有