String,String[]与ArrayList<String>互转
来源:互联网 发布:显示数据库字符集 编辑:程序博客网 时间:2024/05/16 01:49
除非整个String转为String[]的子项,否则我们得知道要从String的以哪个分割点开始切割成多个小的string作为String[]子项。要是以前小编肯定会用分割点的位置来实现分割技术(当然是不靠谱的)。下面我已一个字符串“abc,def,ghi,jkl,mno”为例展开不靠谱级别的实现方式。
String str = "abc,def,ghi,jkl,mno";int count = 0;int startIndex = 0;for (int j = 0; j < str.length(); j++) { int endIndex = str.indexOf(",", startIndex); if (endIndex > 0) { String child = str.substring(startIndex, endIndex); startIndex = endIndex + 1; System.out.println("strs[" + count + "]:" + child); count++; } else { break; }}
如上运行结果显示输出是完全符合小编的需求的。那么小编讲下实现原理
- 通过str.indexOf(“,”, startIndex);以startIndex为其实位置找到寻找第一个”,”的位置为endIndex;
- 在[startIndex,endIndex]区间获取上次截取到的位置至后面一个”,”位置上的文本内容;
- startIndex = endIndex + 1;销毁了掉”,”本身的存在,即以”,”后面的位置为起始点;
好了,既然小编已经不靠谱的实现了String转String[]得到了{“abc”,”def”,”ghi”,”jkl”,”mno”},那么下一步便继不靠谱的来将String[]转ArrayList吧。
String[] strs = {"abc","def","ghi","jkl","mno"};List<String> strLs = new ArrayList<>();for (int i = 0, k = strs.length; i < k ; i++){ strLs.add(strs[i]);}System.out.println(strLs);
看到没有,是不是很腻害的样子。肯定会被嘲讽的说,都说上面不靠谱。那咱还是来点靠谱的吧,免得让大家误解了就不好了。
String str = "abc,def,ghi,jkl,mno";String[] strs = str.split(",", 0);// String转String[]for (int i = 0, k = strs.length; i < k; i++) { System.out.println("strs[" + i + "]:" + strs[i] + "; ");}List<String> strLs = Arrays.asList(strs);// String[]转ArrayList<String>// String[] strs2 = strLs.toArray(new String[strLs.size()]);// ArrayList<String>反转String[]System.out.println(strLs);
看到一样的结果却是用str.split();与Arrays.asList();就这么简单的实现了,小编的心承受不了了。再说说str.split(String regularExpression, int limit);两个参数的用意吧,其中”regularExpression”比较好理解,就是用来切分字符串的分水岭。而limit是限制的意思,其所限制的不是原字符串长度,而是每个分割后的子块总数量,(limit = “0”代表不限制,超过最大可分割的数量最终结果只能是以最大的分割量为准)。为了方便理解还是贴上吧。
String str = "abc,def,ghi,jkl,mno";String[] strs = str.split(",", 0);for (int i = 0, k = strs.length; i < k; i++) { System.out.println("strs[" + i + "]:" + strs[i] + "; ");}
String str = "abc,def,ghi,jkl,mno";String[] strs = str.split(",", 1);for (int i = 0, k = strs.length; i < k; i++) { System.out.println("strs[" + i + "]:" + strs[i] + "; ");}
String str = "abc,def,ghi,jkl,mno";String[] strs = str.split(",", 2);for (int i = 0, k = strs.length; i < k; i++) { System.out.println("strs[" + i + "]:" + strs[i] + "; ");}
以上为String[]转ArrayList的情况,那么同样的道理,应用以上技术来实现ArrayList反转至String[]。
这里写代码片
0 0
- String,String[]与ArrayList<String>互转
- C# ArrayList 与 string、string[] 的转换
- ArrayList 与 string、string[] 的转换
- ArrayList 与 string、string[] 的转换
- 常见List<String> 与ArrayList <String >之间
- C# ArrayList 与 string、string[] 的转换
- ArrayList 与 string、string[] 的转换
- arraylist-String[]
- 解释:arraylist<hashmap<string,string>>
- android ArrayList<String> 转 String[]
- Collection<String>n=new ArrayList<String>()与List<String>n=new ArrayList()的区别
- C#中ArrayList 与 string、string[] 的转换
- C#中ArrayList 与 string、string[]数组 的转换
- C#中ArrayList 与 string、string[]数组 的转换
- #中ArrayList 与 string、string[]数组 的转换
- C#中ArrayList 与 string、string[]数组 的转换
- C#中ArrayList 与 string、string[]数组 的转换(转)
- java ArrayList<String> 与 string数组的相互转换
- MATLAB下载及安装
- ZBrush中的Alt和Shift键该如何进行运用
- C++类外直接访问私有成员
- linux 命令
- 第八届河南省程序设计大赛-NYOJ-1241-Distribution(水题)
- String,String[]与ArrayList<String>互转
- 电脑快捷键大全
- Java中static关键字的作用
- sql中distinct用法
- 友盟分享——微信、腾讯微博、新浪微博分享失败原因分析
- 移动端企业IM系统优化
- 如何区分Java中的值传递和引用传递
- CSS3属性之text-overflow:ellipsis详解
- iOS-Sandbox