• linkin大话数据结构--字符串,数组,list之间的互转


    在实际开发中,我们经常会用到字符串,字符数组,字符list,当然也会不可避免的进行这3者之间的互相转换。

    在使用到Apache和Google下的common包,可以这样子实现:

    package tz.web.dao.bean;
    
    import java.util.Arrays;
    import java.util.List;
    import org.apache.commons.lang.StringUtils;
    import com.google.common.collect.Lists;
    
    public class Linkin {
        public static void main(String[] args) {
            String str = "1,2,3";
            //要是只是用JDK里面的类,在不使用for循环的情况下,直接可以调用方法实现的是下面3个。数组和list之间可以直接一步互相转的
            //字符串转化成一个list 由下面的2步来实现:字符串--字符数组--字符list
            //字符串转化成一个数组
            String[] strArray = str.split(",");
            //数组转换成一个list
            List<String> strList = Arrays.asList(strArray);
            //list转换成一个数组
            strArray = strList.toArray(new String[strList.size()]);
            //现在使用Apache commons下面的包可以很简单的实现数组到字符串的转换
            str = StringUtils.join(strArray, ",");
            //现在使用Apache commons下面的包可以很简单的实现数组到字符串的转换
            str = StringUtils.join(strList, ",");
            //注意了:上面实现了3种数据结构的基本转换,但是数组转换到list这一步是只能迭代输入的,不可以进行修改操作的
            //strList.add("3");UnsupportedOperationException
            //那么问题来了?怎么办呢?很简单:new一个新list,然后将旧的list一下子添加到新的list中去,然后对这个新的list来修改操作
            List<String> newStrList = Lists.newArrayList();
            newStrList.addAll(strList);
            newStrList.add("4");//成功添加
        }
    
    }
    

    综上所述:这里来总结下Apache commons包,Google commons包,java util包最常用的情况:

    1,要是直接对字符串非空啦,空格啦什么的验证,直接使用Apache下面的StringUtils

    2,要是直接对2个数组来操作,什么克隆啦,合并啦,反转啦直接Apache下面的ArrayUtils

    3,要是字符到到数组啦,集合啦的转换时,直接使用java JDK中的Arrays就行

    4,要是数组啦,集合啦到字符串的转换时,直接使用Apache下面的StringUtils

    5,在返回一个空的集合的时候,使用直接使用Apache下面的ListUtils.EMPTY_LIST

    6,要是直接对2个list来操作,什么交集啦,并集啦,补集啦直接使用Apache下面的ListUtils

    7,要是初始化list的时候,就用Google 下面的lists,直接省去泛型,还可以直接带元素进去集合中

    8,要是用到了什么高大上的不可变的list了,什么双向map啦,什么一键多值map什么的去使用Google 下面的包

  • 相关阅读:
    摘抄博文
    html5中getContext()方法和CanvasRenderingContext2D对象详解
    三十四、Android Spinner控件之键值对用法
    二十七、Android之GPS定位详解
    J2EE用监听器实现同一用户只能有一个在线
    三十二、Android上传文件至服务器
    二十六、Android WebView缓存
    三十九、Android原理 不需要关闭后台运行程序
    三十七、android sqlite3详解
    struts2之注解权限控制
  • 原文地址:https://www.cnblogs.com/LinkinPark/p/5233128.html
Copyright © 2020-2023  润新知