回首一年(list對象去重)

好久不見,回望自己最近的幾個月,確實寫的東西少了很多,導致歸檔是七月我推薦自己app的一篇博客。

既然重回這路上,很希望自己能堅持下去。堅持寫下去,可是一個聰明的人從來不把話說太滿。或許有一天我轉行或者其他,就真的被動的堅持不了。
我叫它 “無奈”

還在迴歸副題。。。
先把我今天發現的問題記錄一下

public static void main(String[] args) {
    List<User> users=new ArrayList<>();
    List<String> stringList=new ArrayList<>();
    stringList.add("張三");
    stringList.add("張三");
    users.add(new User("張三",18));
    users.add(new User("張三",18));
    System.out.println(stringList.size());
    users=new ArrayList<User>(new HashSet<User>(users));
    stringList=new ArrayList<String>(new HashSet<String>(stringList));
    System.out.println(stringList.size());
}

關於基礎數據類型的去重可以用我上面這種,但是關於對象卻不行,還有什麼年代了,別用for循環了,我這麼菜都知道這種去重或者二分查找了。不在是大一初學者練習自己的邏輯能力去不斷的暴力破解,往往最直接的暴力破解也是系統最需要時間的去處理的。

比較合理的方法的有


	List<User> userListNoDupAndSort = removeDuplicateUser(userList);
private static ArrayList<User> removeDuplicateUser (List < User > users) {
	//方法一按照List中的某個String類型的屬性進行去重
    Set<User> set = new TreeSet<User>(new Comparator<User>() {
        @Override
        public int compare(User o1, User o2) {
            //字符串,則按照asicc碼升序排列
            return o1.getUserId().compareTo(o2.getUserId());
        }
    });
    set.addAll(users);
    return new ArrayList<User>(set);
    //方法二jdk1.8使用
    return users.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> newTreeSet < > (Comparator.comparing(User::getUserId))), ArrayList::new))
}

倘若你此時有個好心情,還記得自己以前想要的。而且你現在還朝着它前進。
我叫它 “目標”

我也有
1.微信小程序初級開發(只添加了書籤)
2.小遊戲初級開發(做過一個)
3.做一個屬於自己的app(完成)
4.不找家人要錢(完成)
5.鍛鍊身體(跑步20天)
我發現我當時真的有點小聰明,還行,至少2018年度總結這些都沒寫死
在這裏插入圖片描述

不然說句實話,我真慌了
可是時間都快過完了,慌能有什麼用
所以,這些我會去完成,也許不能全部完成,但是我希望,我能像我現在寫這篇博客一樣輕鬆,自然,無感知的去完成和實現它們;
我叫它 “無中生有”

你可以嘲諷我的無或生有,沒關係,知識面廣的人,從不會輕易評價他人。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章