完善Java的一些没有的方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SpiderManSun/article/details/84954855

在做项目时,很多时候需要获取字符串中最后一个字符串是什么,为了方便写了一个函数,实现起来很简单,原理就是先获取字符串的长度,然后通过字符串截取获得最后一个字符。以下是代码:

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没有提供的常用的方法,还会继续更新。

猜你喜欢

转载自blog.csdn.net/SpiderManSun/article/details/84954855