0 0

数组怎么按要求组合?5

  List<String> list1 = new ArrayList<String>();
  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
2013年4月26日 15:38

1个答案 按时间排序 按投票排序

0 0

采纳的答案

package collection;

import java.util.ArrayList;
import java.util.List;

/**
 * List<String> list1 = new ArrayList<String>(); 
  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<String> strList = new ArrayList<String> ();
		/**
		 * 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);
		}
	}
}

2013年4月26日 22:38

相关推荐

    matlab开发-多维数组的合并排序

    3. **合并**:将已排序的子数组合并回原来的多维数组。这个过程需要注意保持原有的数据关系,确保合并后的数组仍然是有序的。 在`Merge_sorting.m`这个脚本中,开发者可能已经实现了这些步骤。通常,这个脚本会包含...

    m个数组,每个数组n个元素的组合

    有m个数组,每个数组有n个元素。列出所有可能的组合。 如:arr1{aa,bb,cc},arr2{11,22,33},得到的组合是: aa11,aa22,aa33,bb11,bb22,bb33,cc11,cc22,cc33

    整形数组与字符数组相互转换

    2. 数组内存布局:数组在内存中是一段连续的空间,每个元素按顺序存储。因此,当我们将一个数组转换为另一个类型时,我们需要考虑到元素大小的差异。例如,int通常占用4个字节,而uchar占用1个字节。这意味着4个...

    python 有序数组的平方,给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非

    # 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 # 输入示例 # 输入:nums = [-4,-1,0,3,10] # 输出:[0,1,9,16,100] # 解释:平方后,数组变为 [16,...

    如何先按数字排序,然后按数组中的字符排序?

    标题提到的问题是“如何先按数字排序,然后按数组中的字符排序?”这个问题涉及到Python中的多级排序,也称为复合排序。在处理包含混合类型元素(如数字和字符串)的列表时,这种排序方式尤其有用。下面我们将详细...

    C#实现排列组合算法完整实例

    例如,如果对性能有较高要求,可以考虑使用堆栈方法;而在简单示例或调试阶段,循环方法则更为直观。无论哪种实现方式,理解和掌握排列组合的基本概念及其在C#中的实现,对于提升编程能力具有重要意义。

    c#用户输入一个数字确定数组长度,并从屏幕输入一组数字作为数组元素,计算该数组所有元素的最大值、最小值及对应的索引值。要求通过编写函数实现。

    本问题要求我们创建一个动态数组,其长度由用户输入决定,然后从屏幕上接收一组数字填充数组。接着,我们需要实现一系列功能,包括找到数组中的最大值、最小值以及它们对应的索引。下面将详细介绍如何实现这个任务。...

    php求数组全排列,元素所有组合的方法

    数组全排列是指将数组中的元素按不同顺序重新组合,形成所有可能的排列方式。而元素所有组合则是指从数组中取出任意数量的元素,形成所有可能的组合。本知识点将详细介绍如何用PHP实现这两个功能,同时涵盖数组的...

    华为秋招_多数组合并问题.doc

    题目要求将多个整数数组按照特定规则合并成一个新的数组。以下是对这个题目的详细解析: 首先,我们需要理解题目的核心要求。题目中提到的“合并规则”是:从每个数组中依次取出固定长度的内容,将这些内容合并到新...

    LOOKUP函数处理内存数组

    3. **排序要求**:默认情况下,LOOKUP要求查找范围按升序排列。如果`lookup_value`不在查找范围的最小值和最大值之间,函数会返回错误。在处理内存数组时,确保数据正确排序至关重要。 4. **模糊匹配**:通过设置`...

    用数组求N的阶乘,可以运行

    例如,如果我们要求5的阶乘,数组初始化为[1, 1, 1, 1, 1, 1],然后依次进行如下操作: - 第一轮:1 × 2 = 2,数组变为 [1, 2, 1, 1, 1, 1] - 第二轮:2 × 3 = 6,数组变为 [1, 2, 6, 1, 1, 1] - 第三轮:6 × 4 =...

    Java递归求解数组里“数组合”

    这样,每次递归都会在前缀上添加一个新元素,直到子列表为空,此时打印出组合(这里注释掉了,因为题目要求只计算组合的个数)。 递归结束条件是子列表为空,此时会返回到上一层递归,继续处理剩余的元素。最后,...

    LABVIEW 创建数组

    **示例**:使用“创建数组”函数将多个数值组合成一个数组。 ##### 方法2:循环构建数组 **操作方式**:利用FOR循环或者WHILE循环逐个添加元素至数组。 **特点**: - **灵活性高**:可以根据条件动态地改变数组...

    matlab 元胞数组. matlab 元胞数组

    - **转换**:可以使用`cell2mat`函数将元胞数组转换为常规矩阵,但要求所有元胞的内容都是相同尺寸的数值数组。 - **遍历**:通过`for`循环或`cellfun`函数可以对元胞数组的每个元素执行特定操作。 6. **元胞数组...

    长安大学数组函数实验报告

    杨辉三角形是一个二维数组的典型应用,用于展示组合数的规律。实验中通过双重循环实现,外层循环控制行数,内层循环控制每行的列数。每一行的第一个和最后一个元素都是1,其他元素等于上一行相邻两个元素之和。通过...

    字符串 数组、字母和ASCII值应用

    四、输入一个字符串,字符串是字母和数字的组合,编程实现输出一个新的字符串,要求字母在前面,数字在后面,顺序不变,例如:2s7ess83a 变成sessa2783 五、一个字符串,获取最长的一个单词,如有多个相同...

    Excel SUM数组公式计数与求和.rar

    在使用数组公式时,需要按下Ctrl + Shift + Enter键来输入公式,而不是仅按Enter键,这样Excel会将公式视为数组公式处理。 例如,如果要对满足特定条件的单元格进行计数,通常我们会用到COUNTIF函数。但当条件变得...

    数组排序(难点,重点)

    归并排序是利用分治法的一个非常典型的应用,将数组分为两个子数组,分别进行排序,然后将排序后的子数组合并。其时间复杂度稳定在O(nlogn),但需要额外的存储空间。 7. **堆排序** 堆排序利用了完全二叉树的特性...

    vb.net 第三次试验(数组和过程二).rar

    在此次试验中,可能会要求学生创建和操作数组,例如找出数组中的最大值或计算数组的平均值。 过程是VB.NET中实现代码重用和模块化的重要手段,分为Sub过程和Function过程。Sub过程不返回值,主要用于执行一系列操作...

Global site tag (gtag.js) - Google Analytics