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]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 前端echarts坐标轴问题
- ¥15 CMFCPropertyPage
- ¥15 ad5933的I2C
- ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
- ¥15 数学建模求思路及代码
- ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题
- ¥15 谁会P4语言啊,我想请教一下
- ¥15 这个怎么改成直流激励源给加热电阻提供5a电流呀
- ¥50 求解vmware的网络模式问题 别拿AI回答
- ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳