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
[code="java"]
package collection;
import java.util.ArrayList;
import java.util.List;
/**
@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]