java集合HashSet,TreeSet知识点集合

  1. public class Person implements Comparable
    @Override
    public String toString() {
    return “Person [name=” + name + “, age=” + age + “]”;
    }
    @Override
    public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + age;
    result = prime * result + ((name == null) ? 0 : name.hashCode());
    return result;
    }
    @Override
    public boolean equals(Object obj) {
    if (this == obj)
    return true;
    if (obj == null)
    return false;
    if (getClass() != obj.getClass())
    return false;
    Person other = (Person) obj;
    if (age != other.age)
    return false;
    if (name == null) {
    if (other.name != null)
    return false;
    } else if (!name.equals(other.name))
    return false;
    return true;

    }
    @Override
    public int compareTo(Person o) {
    int length = this.name.length() - o.name.length();
    int num = length == 0? this.name.compareTo(o.name) : length;
    return num == 0 ? this.age - o.age : num;
    }
    //按姓名排序
    /*public int compareTo(Person o) {
    int num = this.name.compareTo(o.name);
    return num == 0 ? this.age - o.age : num ;
    }*/
    /*@Override

      • 按年龄排序*/
        /*public int compareTo(Person o) {

      //return 0;
      //返回正数 怎么存怎么取
      //返回负数 倒序取出
      //返回0 取第一个

      //return this.age - o.age;
      int num = this.age - o.age;
      return num == 0 ? this.name.compareTo(o.name) : num ;
      }*/

  2. class compareByLen implements Comparator{

    @Override
    public int compare(String s1, String s2) {
    int num = s1.length() - s2.length();
    return num == 0 ? s1.compareTo(s2) : num;
    }
    }
    TreeSet ts = new TreeSet<>(new compareByLen());

  3. public static void main(String[] args) {
    HashSet hs = new HashSet<>();

    Random r = new Random();
    while (hs.size() < 10) {
        hs.add(r.nextInt(20) + 1);
    }
    System.out.println(hs);
    for (Integer integer : hs) {
        System.out.println(integer);
    }
    

    }

  4. public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println(“请输入一行字符串:”);
    String str = sc.nextLine();
    HashSet hs = new HashSet<>();
    for (int j = 0; j < str.length(); j++) {
    hs.add(str.charAt(j));
    }
    System.out.println(“去掉重复的字符后,集合中为:”);
    System.out.println(hs);
    System.out.println(“遍历集合:”);
    for (Character c : hs) {
    System.out.print(c);
    }

    }

  5. public static void sort(List list) {

    TreeSet<String> ts = new TreeSet<>(new Comparator<String>() {
    
        @Override
        public int compare(String s1, String s2) {
            int num = s1.compareTo(s2);
            return num == 0 ? 1 : num ;
        }
    });
    ts.addAll(list);
    list.clear();
    list.addAll(ts);
    

    }

  6. Integer i = Integer.parseInt(line);

你可能感兴趣的:(java集合HashSet,TreeSet知识点集合)