zoukankan      html  css  js  c++  java
  • Java-TreeSet的用法-入门

    Java语言中,Set接口有3种通用实现:HashSetTreeSet,LinkedHashSet。TreeSet是一种能够对内部元素进行排序的集合,它使用红黑树来存储内部元素,基于元素的值进行排序,它比HashSet要慢。

    TreeSet要求内部元素实现Comparable接口,因为它是根据元素的compareTo来排序的。下面是一个demo:

    package Colloections;
    
    import java.util.LinkedList;
    import java.util.TreeSet;
    
    public class TreeSetDemo {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            TreeSet<Person> treeSet = new TreeSet<Person>();
            treeSet.add(new Person("albert", 8));
            treeSet.add(new Person("bob", 5));
            treeSet.add(new Person("bob", 13));
            
            for (Person person : treeSet) {
                System.out.printf(person.toString());
            }
        }
    }
    
    class Person implements Comparable<Person>{
    
        public String name;
        public int age;
        
        public Person(String n, int a){
            name = n;
            age = a;
        }
        
        public  String toString() {
            return String.format("Name is %s, Age is %d%n", name, age);
        }
        
        @Override
        public int compareTo(Person o) {
            // TODO Auto-generated method stub
            int nameComp = this.name.compareTo(o.name);
            return (nameComp != 0 ? nameComp : (this.age - o.age));
        }
        
    }

    程序输出为:

    Name is albert, Age is 8
    Name is bob, Age is 5
    Name is bob, Age is 13

  • 相关阅读:
    2013111 小有收获
    2013112 周末
    js return的使用 Yannis
    java与js的split方法 Yannis
    javaScript 实时获取系统时间 Yannis
    java中奇偶数的判断 Yannis
    将Tomcat添加至开机自启动 Yannis
    java除0问题探究 Yannis
    linux安装问题 Yannis
    java之Struts2实现用户登录过滤 Yannis
  • 原文地址:https://www.cnblogs.com/pzy4447/p/5024197.html
Copyright © 2011-2022 走看看