z_xiaojie 2013-04-26 15:38 采纳率: 100%
浏览 255
已采纳

数组怎么按要求组合?

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

  • 写回答

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加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳