当前位置:首页 » 编程语言 » java数组组合

java数组组合

发布时间: 2022-05-31 08:28:50

1. java字符串数组合并 怎么合并成一个数组

java字符串数组合并,可以使用array.复制方法,如下代码:

packagecom.qiu.lin.he;

importjava.text.ParseException;
importjava.util.Arrays;

publicclassCeshi{
publicstaticvoidmain(String[]args)throwsParseException{

String[]str1={"J","a","v","a","中"};
String[]str2={"如","何","把","两","个","数","组","合","并","为",
"一","个"};

intstrLen1=str1.length;//保存第一个数组长度
intstrLen2=str2.length;//保存第二个数组长度
str1=Arrays.Of(str1,strLen1+strLen2);//扩容
System.array(str2,0,str1,strLen1,strLen2);//将第二个数组与第一个数组合并
System.out.println(Arrays.toString(str1));//输出数组

}
}

运行结果如下:

2. java怎么找一个数组的所有组合

用递归应该可以实现 小数组的处理 大数组就有点吃不消了

另开一个标记数组 标记取过的数
确定要取几个数来组合 n
取第一个数 标记下标 每次递归排除已标记下标 达到n后将标记过的数据加起来 存入新数组

3. java中怎么合并两个数组 简单明了的

int[]arr1={1,2,3,4,11};
int[]arr2={6,7,8,9,10};
intnewLength=arr1.length+arr2.length;
int[]arr_target=newint[newLength];
//参数:源数组,源数组起始位置,目标数组,目标数组起始位置,复制长度
System.array(arr1,0,arr_target,0,arr1.length);
System.array(arr2,0,arr_target,arr1.length,arr2.length);
//输出合并后数组
for(inti:arr_target){
System.out.println(i);
}
//排序
Arrays.sort(arr_target);
//输出排序数组
for(inti:arr_target){
System.out.println(i);
}
//逆序
int[]arr_reverse=newint[newLength];
intflag=0;
for(inti:arr_target){
arr_reverse[newLength-flag-1]=i;
flag++;
}
//输出逆序数组
for(inti:arr_reverse){
System.out.println(i);
}

数组合并不一定非得遍历

具体的输出题主自己再修改吧

4. java中面向对象要求合并两个同类型的数组生成一个新数组

参考逻辑
int len1 = array1.length();
int len2 = array2.length();
// 首先,定义一个新的Object数组
Object[] fullArray = new Object[len1 + len2];
// 拷贝数据
for(int i = 0; i < len1; i++) {
fullArray[i] = array1[i];
}
for(int i = len1; i < len1+len2; i++) {
fullArray[i] = array2[i - len1];
}

5. java两个数组合并用for循环

//两个数组
String[] str1 = {"a","b","c"};
String[] str2 = {"d","e","f"};
//创建一个要接收的数组
String[] str3= new String[str1.length+str2.length];
//先把第一个数组放进去
for(int x=0;x<str1.length;x++){

str3[x] = str1[x];
}
for(int y=0;y<str2.length;y++){
str3[str1.length+y]=str2[y];
}
for(int y=0;y<str3.length;y++){
System.out.println(str3[y] + " ");
}
如有帮助请采纳(不懂请提问),可以看我主页,欢迎来交流学习;

6. Java数组分成N个数组的所有组合

这个问题不是这么想的,
你可以想象一个n位二进制的数,找出所有只有k个1,其他位都是0的数,这个二进制数的第x位为1就表示取字母表中的第x个字母,为0不取,最后得到的就是这个二进制数代表的组合,将所有的二进制数都翻译成字母组合后,就是你要取得的所有字母组合了。

如果实在不会的话,待会再给你写个代码

public class Combination {
public static void main(String[] args) {
String[] valueSets = { "a", "b", "c", "d", "e" };
int n = 3;
List<String> list = combination(valueSets, n);
System.out.println(list);
for(String string: list){
System.out.println(string);
}
System.out.println("一共 "+list.size()+" 个。");
}

public static List<String> combination(String[] valueSets, int n) {
System.out.println(">>>>>combination");
List<String> binaryList = searchBinaryList(valueSets.length, n);
List<String> combinationList = toCombinationList(binaryList, valueSets);
return combinationList;
}

public static List<String> toCombinationList(List<String> binaryList,
String[] valueSets) {
List<String> combinationList = new ArrayList<String>();
for (String binary : binaryList) {
String combination = changeBinaryToCombination(binary, valueSets);
if (combination != null && combination.trim() != "") {
combinationList.add(combination);
}
}
return combinationList;
}

public static String changeBinaryToCombination(String binary,
String[] valueSets) {
String combination = "";
if (binary == null || binary.trim() == "") {
return null;
}
for (int i = 0; i < binary.length(); i++) {
if (binary.charAt(i) == '1') {
combination += valueSets[i];
}
}
return combination;
}

public static List<String> searchBinaryList(int length, int n) {
System.out.println(">>>>>searchBinaryList");
List<String> binaryList = new ArrayList<String>();
for (int i = 0; i < (int) Math.pow(2, length); i++) {
String binary = Integer.toBinaryString(i);
int count = oneCountsContainsInBinary(binary);
if (count == n) {
binaryList.add(toSpecifiedBitsBinary(binary, length));
}
}
return binaryList;
}

public static String toSpecifiedBitsBinary(String binary, int length) {
String specifiedBitsBinary = "";
for (int i = 0; i < length - binary.length(); i++) {
specifiedBitsBinary += 0;
}
specifiedBitsBinary += binary;
return specifiedBitsBinary;
}

public static int oneCountsContainsInBinary(String binary) {
int count = 0;
if (binary == null || binary.trim() == "") {
return count;
}
for (int i = 0; i < binary.length(); i++) {
if (binary.charAt(i) == '1') {
count++;
}
}
return count;
}
}

7. java 定义了5个数字的数组,显示输出所有的排列组合

importjava.util.ArrayList;
importjava.util.List;
publicclassPermAComb{
staticList<int[]>allSorts=newArrayList<int[]>();

publicstaticvoidpermutation(int[]nums,intstart,intend){
if(start==end){//当只要求对数组中一个数字进行全排列时,只要就按该数组输出即可
int[]newNums=newint[nums.length];//为新的排列创建一个数组容器
for(inti=0;i<=end;i++){
newNums[i]=nums[i];
}
allSorts.add(newNums);//将新的排列组合存放起来
}else{
for(inti=start;i<=end;i++){
inttemp=nums[start];//交换数组第一个元素与后续的元素
nums[start]=nums[i];
nums[i]=temp;
permutation(nums,start+1,end);//后续元素递归全排列
nums[i]=nums[start];//将交换后的数组还原
nums[start]=temp;
}
}
}

publicstaticvoidmain(String[]args){
int[]numArray={1,2,3,4,5,6};
permutation(numArray,0,numArray.length-1);
int[][]a=newint[allSorts.size()][];//你要的二维数组a
allSorts.toArray(a);

//打印验证
for(inti=0;i<a.length;i++){
int[]nums=a[i];
for(intj=0;j<nums.length;j++){
System.out.print(nums[j]);
}
System.out.println();
}
System.out.println(a.length);
}
}

采纳吧

8. 如何在java里java字符串数组合并成一个数组

java里java字符串数组合并成一个数组方法如下:

//方法一 Arrays类

String[] a = {"A","B","C"};

String[] b = {"D","E"};

// List<String> list = Arrays.asList(a); --OK

// List<String> list = Arrays.asList("A","B","C"); --OK

// list.add("F"); --UnsupportedOperationException

// list.remove("A"); --UnsupportedOperationException

// list.set(1,"javaee");--OK (因为是把数组转为集合,其本质还是数组,数组长度固定不变,但内容可以改变)

// 结论:虽然可以把数组转为集合,但是集合长度不能改变

List list = new ArrayList(Arrays.asList(a));

list.addAll(Arrays.asList(b));

String[] str = new String[list.size()];

list.toArray(str);

for(int x=0;x<str.length;x++){

System.out.print(str[x] + " ");

}

//方法二 循环遍历

// 两个数组合并

String[] str1 = {"Hello","world","java"};

String[] str2 = {"Veriable","syntax","interator"};

String[] newStr = new String[str1.length+str2.length];

//newStr = str1;数组是引用类型

for(int x=0;x<str1.length;x++){

newStr[x] = str1[x];

}

for(int y=0;y<str2.length;y++){

newStr[str1.length+y]=str2[y];

}

for(int y=0;y<newStr.length;y++){

System.out.println(newStr[y] + " ");

}

9. java实现数组的所有组合

最简单的办法是三层循环

10. Java中如何把两个数组合并为一个

import java.util.Arrays;

//Java中如何把两个数组合并为一个
public class gog {
public static void main(String[] args) {
String [] str1 = {"J","a","v","a","中"};
String [] str2 = {"如","何","把","两","个","数","组","合","并","为","一","个"};

int strLen1=str1.length;//保存第一个数组长度
int strLen2=str2.length;//保存第二个数组长度
str1= Arrays.Of(str1,strLen1+ strLen2);//扩容
System.array(str2, 0, str1, strLen1,strLen2 );//将第二个数组与第一个数组合并
System.out.println(Arrays.toString(str1));//输出数组

}
}

热点内容
c反编译工具re 发布:2025-02-11 10:26:37 浏览:673
光遇安卓怎么能加到ios 发布:2025-02-11 10:20:16 浏览:690
优势存储 发布:2025-02-11 10:20:14 浏览:362
光猫wifi怎么改密码 发布:2025-02-11 10:17:51 浏览:167
web和服务器怎么写通讯 发布:2025-02-11 10:08:06 浏览:979
安卓升级后手机变卡怎么办 发布:2025-02-11 09:58:01 浏览:113
土工数据库 发布:2025-02-11 09:48:55 浏览:963
libxml2编译 发布:2025-02-11 09:48:45 浏览:745
java类的复制 发布:2025-02-11 09:48:45 浏览:601
127小时ftp 发布:2025-02-11 09:47:10 浏览:852