• ArrayList去重


     1 import java.util.ArrayList;
     2 import java.util.List;
     3 
     4 public class ArrayList_Test {
     5     public static void main(String[] args) {
     6         List<Student> stus = new ArrayList<>();
     7 
     8         stus.add(new Student("zhangsan"));
     9         stus.add(new Student("lisi"));
    10         stus.add(new Student("zhangsan"));
    11         stus.add(new Student("zhangsan"));
    12         stus.add(new Student("wangwu"));
    13 //   第一种
    14 //        for (int i = 0; i < stus.size() - 1; i++) {
    15 //            for (int j = i + 1; j < stus.size()-1; j++) {
    16 //                if (stus.get(i).getName().equals(stus.get(j).getName())) {
    17 //                    stus.remove(stus.get(i));
    18 //                }
    19 //            }
    20 //        }
    21 //        System.out.println(stus);
    22 //        第二种
    23 //        定义一个新集合
    24         List<Student> stus2 = new ArrayList<>();
    25         for (int i = 0; i < stus.size(); i++) {
    26             if (!stus2.contains(stus.get(i))) {// 内部调用了equals方法,所以比的是栈中的引用地址,所以要重写equals方法
    27                 stus2.add(stus.get(i));
    28             }
    29         }
    30         System.out.println(stus2);
    31 
    32     }
    33 }
    34 
    35 class Student {
    36     String name;
    37 
    38     public Student(String name) {
    39         this.name = name;
    40     }
    41 
    42     public String getName() {
    43         return name;
    44     }
    45 
    46     public void setName(String name) {
    47         this.name = name;
    48     }
    49 
    50     @Override
    51     public String toString() {
    52         return "Student [name=" + name + "]";
    53     }
    54 
    55     @Override
    56     public int hashCode() {
    57         final int prime = 31;
    58         int result = 1;
    59         result = prime * result + ((name == null) ? 0 : name.hashCode());
    60         return result;
    61     }
    62 
    63     @Override
    64     public boolean equals(Object obj) {
    65         if (this == obj)
    66             return true;
    67         if (obj == null)
    68             return false;
    69         if (getClass() != obj.getClass())
    70             return false;
    71         Student other = (Student) obj;
    72         if (name == null) {
    73             if (other.name != null)
    74                 return false;
    75         } else if (!name.equals(other.name))
    76             return false;
    77         return true;
    78     }
    79 
    80 }
  • 相关阅读:
    Asp.net上传文件,过滤不符合要求格式的文件
    取得文件真正扩展名类型
    ORA12505: TNS: 监听程序当前无法识别连接描述符中所给出的 SID
    Android显示图片自适应(控件+网页)
    Android代码资源的国际化
    Eclipse下加载Android SDK源码
    Android 中Webview 自适应屏幕
    网页图片缩放(js)
    android webview 缩放及换行
    subclipse用法
  • 原文地址:https://www.cnblogs.com/19322li/p/10681118.html
Copyright © 2020-2023  润新知