1. 程式人生 > >完善Java的一些沒有的方法

完善Java的一些沒有的方法

在做專案時,很多時候需要獲取字串中最後一個字串是什麼,為了方便寫了一個函式,實現起來很簡單,原理就是先獲取字串的長度,然後通過字串擷取獲得最後一個字元。以下是程式碼:

public String getLastChar(String str){
        if(str==null||str.length()==0){
            return null;
        }else if(str.length()==1)
            return str;
        return str.substring(str.length()-1);
    }

在過濾ArrayList中重複的元素時,有一個簡單的方法,就是通過HashSet。

ArrayList<String> list=new ArrayList<>();
//直接將ArrayList轉換為Set集合,自動將重複的元素去掉了
Set<String> set=new HashSet<>(list);
//如果想獲取沒有重複元素的ArrayList物件
ArrayList<String> newList=new ArrayList<>(set);

還可以通過遍歷ArrayList來過濾重複的元素,為了方便以後使用,可以將其封裝成一個函式。

public ArrayList<String> StrFilter(ArrayList<String> list){
        int len=list.size();
        if(len<2){
            return list;
        }else {
            ArrayList<String> newList = new ArrayList<>();
            for (int i = 0; i < len; ++i) {
                String TempStr = list.get(i);
                if (newList.contains(TempStr))
                    continue;
                newList.add(TempStr);
            }
            return newList;
        }
    }

有的時候需要獲取兩個ArrayList的並集,需要先去重在求並集。

public static ArrayList<String> receiveUnionList(ArrayList<String> firstArrayList, ArrayList<String> secondArrayList) {
        ArrayList<String> resultList = new ArrayList<String>();
        Set<String> firstSet = new TreeSet<String>(firstArrayList);
        for(String id : secondArrayList) {
            // 當新增不成功的時候 說明firstSet中已經存在該物件
            firstSet.add(id);
        }
        resultList = new ArrayList<String>(firstSet);
        return resultList;
    }

如果後續發現還有什麼Java沒有提供的常用的方法,還會繼續更新。