zoukankan      html  css  js  c++  java
  • Java TreeSet,Collections使用

    一、创建TreeSet实例

    public static void main(String[] args) {
    		TreeSet set = new TreeSet();
    		
    		set.add("C");
    		set.add("B");
    		set.add("A");
    		set.add("F");
    		set.add("D");
    		System.out.println(set);
    	}
    

      输出

    [A, B, C, D, F]
    

      输出是有序的。

    二、TreeSet实例,按字符倒叙排列

    实现了Comparator接口

    public class TreeSetTest3 {
    	public static void main(String[] args) {
    		TreeSet<String> set = new TreeSet(new MyComparator() );
    		set.add("C");
    		set.add("B");
    		set.add("A");
    		set.add("F");
    		set.add("D");
    		System.out.println(set);
    	
    	}
    }
    
    class MyComparator implements Comparator{
    
    
    	public int compare(Object o1, Object o2) {
    		
    		String s1 = (String) o1;
    		String s2 = (String) o2;
    		
    		return s2.compareTo(s1);
    	}
    	
    }
    

      打印:

    [F, D, C, B, A]

    三、按数字倒叙排列

    public class TreeSetTest2 {
    
    	public static void main(String[] args) {
    		TreeSet set= new TreeSet(new Comparator() {
    
    			public int compare(Object o1, Object o2) {
    				int i1 = ((Person) o1).score;
    				int i2 = ((Person) o2).score;
    				return i2 - i1;
    			}
    			
    		});
    		Person p1 = new Person(100);
    		Person p2 = new Person(60);
    		Person p3 = new Person(70);
    		Person p4 = new Person(50);
    		
    		set.add(p1);
    		set.add(p2);
    		set.add(p3);
    		set.add(p4);
    		System.out.println(set);
    	}
    }
    
    class Person{
    	
    	int score;
    	
    	public Person(int score){
    		this.score = score;
    	}
    	
    
    	@Override
    	public String toString() {
    		
    		return String.valueOf(this.score);
    	}
    }
    

      打印结果

    [100, 70, 60, 50]

    四、使用Collections降序

    public class CollectionsTest {
    	public static void main(String[] args) {
    		LinkedList list = new LinkedList();
    		list.add(new Integer(5));
    		list.add(new Integer(25));
    		list.add(new Integer(15));
    		list.add(new Integer(35));
    		list.add(new Integer(1));
    		Comparator r =  Collections.reverseOrder();
    		Collections.sort(list, r);
    		System.out.println(list);
    		
    	}
    }
    

      [35, 25, 15, 5, 1]

  • 相关阅读:
    2.替换空格
    1.二维数组的查找
    poj 2431 expedition
    python入门第三天
    python入门第二天__练习题
    [Python3.6] print vs sys.stdout.write
    python入门第二天
    使用Flask-mail发送邮件无法连接主机
    KMP
    逆序对 线段树&树状数组 (重制版)
  • 原文地址:https://www.cnblogs.com/linlf03/p/10960662.html
Copyright © 2011-2022 走看看