java數組組合
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));//輸出數組
}
}