List list1 = new ArrayList();
String[] str = new String[] { "a,b", "b,c", "c,d", "b,e", "e,f","h,g" };
for (String s : str) {
list1.add(s);
}
编写函数,实现将list1 中的数据输出为如下:
a,b,c,d
a,b,e,f
h,g
数组怎么按要求组合?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
zyn010101 2013-04-26 22:38关注[code="java"]
package collection;import java.util.ArrayList;
import java.util.List;/**
- List list1 = new ArrayList(); String[] str = new String[] { "a,b", "b,c", "c,d", "b,e", "e,f","h,g" }; for (String s : str) { list1.add(s); } 编写函数,实现将list1 中的数据输出为如下: a,b,c,d a,b,e,f h,g
-
@author zyn
*
/
public class ArrayTest {
public static void main(String[] args){
String[] str = new String[] { "a,b", "b,c", "c,d", "b,e", "e,f","h,g" };
//str的copy,不做改变
String[] strCopy = str;
//存放最终的list
List strList = new ArrayList ();
/*
* a,b可能被其他的公用拼接字符串,那么从前往后拼接
*/
for(int i=0;i<str.length;i++){
String[] strArr = str[i].split(",");
//str第i个字符是否和其他字符拼接,若拼接则不往strList中添加
boolean flag = false;
for(int ii=0;ii<strCopy.length;ii++){
String[] strArrCopy = strCopy[ii].split(",");
//如果str[i]的开始字符和strcopy[ii]的结束字符相同,拼接str的第ii个元素(a,b,b,c 替换b,b为b)
if(strArr[strArr.length-1].equals(strArrCopy[0])){
str[ii] = (str[i]+","+str[ii]).replace(strArrCopy[0]+","+strArrCopy[0], strArrCopy[0]);
flag = true;
}
}
if(!flag){
strList.add(str[i]);
}
}for(String s:str){ System.out.println(s); } System.out.println("****************"); for(String s:strList){ System.out.println(s); }}
}
[/code]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报