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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值