public static String[] compareArray(String[] strs_a,String[] strs_b){
網(wǎng)站建設(shè)公司,為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)頁設(shè)計,高端網(wǎng)頁制作,對邊坡防護網(wǎng)等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)經(jīng)驗的網(wǎng)站建設(shè)公司。專業(yè)網(wǎng)站設(shè)計,網(wǎng)站優(yōu)化推廣哪家好,專業(yè)網(wǎng)站推廣優(yōu)化,H5建站,響應(yīng)式網(wǎng)站。
if(strs_a == null) return strs_b;
if(strs_b == null) return strs_a;
if(Arrays.equals(strs_a, strs_b)){
return null;
}
String tempStr = "";
if(strs_a[0].equals(strs_b[0])){
for(int i=0;istrs_a.length;i++){
if(i!=0){
tempStr+=strs_a[i]+",";
}
}
for(int i=0;istrs_b.length;i++){
if(i!=0){
tempStr+=strs_b[i]+",";
}
}
if(tempStr.endsWith(",")) tempStr = tempStr.substring(0, tempStr.length() - 1);
String[] tempArr = tempStr.split(",");
Arrays.sort(tempArr);
tempStr = "";
for(String str:tempArr){
tempStr += str + ",";
}
if(tempStr.endsWith(",")) tempStr = tempStr.substring(0, tempStr.length() - 1);
return new String[]{strs_a[0],tempStr};
}else{
return strs_b;
}
}
public static ListString[] getSortResult(ListString[] list){
ListString[] resultList = new ArrayListString[]();
if(list!=null list.size()0){
for(int i=0;ilist.size();i++){
String[] strs_i = list.get(i);
for(int j=0;i=jjlist.size();j++){
String[] strs_j=list.get(j);
String[] strs_x = compareArray(strs_i, strs_j);
if(strs_x != null){
if(!resultList.contains(strs_x)){
resultList.add(strs_x);
}
}
}
}
}
return resultList;
}
public static void main(String[] args) {
ListString[] list = new ArrayListString[]();
list.add(new String[]{"1","1"});
list.add(new String[]{"1","2"});
list.add(new String[]{"2","1"});
ListString[] rlist = getSortResult(list);
for(String[] items:rlist){
System.out.println();
for(int i=0;iitems.length;i++){
if(i!=0){
System.out.print(items[0] + " " + items[i]);
}
}
}
}
稍微寫了下:那幾個方法拷到一個類里就可以了,驗證如下:
輸入:list
list.add(new String[]{"1","1"});
list.add(new String[]{"1","2"});
list.add(new String[]{"2","1"});
輸出結(jié)果為:
1 1,2
2 1
不知滿足你的要求不?不滿足接著追問
如果用java的整形數(shù)組,可能存在一個問題,就是你傳入的數(shù)字,不能被數(shù)組長度整除,而二維數(shù)組要求數(shù)組中每個元素長度一致,所以只能把多余的元素拋棄。
按照下面例子,第一次傳11個數(shù),至打印出三個數(shù)組,換成12個數(shù),就能打印出四個數(shù)組了,望采納。
package test;
import java.util.Arrays;
public class splitArr {
public static int[][] split(int [] arr,int n){
int m = arr.length/n;//返回的數(shù)組個數(shù)
int[][] result = new int[m][n];
if(arr.length==0||n==0){
return result;
}else{
for(int i = 0;im;i++){
for(int j=0;jn;j++){
result[i][j] = arr[n*i+j];
}
}
}
return result;
}
public static void main(String [] args){
int[] arr = new int []{1,2,3,4,5,6,7,8,9,10,11};
int n= 3;
int[][] result = splitArr.split(arr, n);
for(int i=0;iresult.length;i++){
System.out.println(Arrays.toString(result[i]));
}
}
}
驗證結(jié)果
import?java.util.Arrays;
public?class?Test?{
public?static?void?main(String[]?args)?{
String[]?str?=?{?"112",?"2321",?"3231",?"4443",?"5321"?};
String[]?sub1?=?Arrays.copyOf(str,?3);
String[]?sub2?=?Arrays.copyOfRange(str,?3,?str.length);
System.out.println(Arrays.deepToString(sub1));
System.out.println(Arrays.deepToString(sub2));
}
}
運行結(jié)果
1.分組后的數(shù)組 事先可能不能完全聲明出來,因為分組后的數(shù)組個數(shù)是不固定的,應(yīng)該聲明個全局變量Map map 用于存放這些數(shù)組
2.遍歷array數(shù)組,取出第一批相同值的數(shù)值 放進array_one里(成員變量),然后把array_one放進map里面,同理可取出一二批相同值的數(shù)值 放進array_two里,然后把array_one放進map里面...
3.遍歷map,取出map里的array_one,array_two....array_100....
打字不容易的....給分吧
網(wǎng)站欄目:java代碼把數(shù)組分組 java 數(shù)組拆分
當(dāng)前URL:http://aaarwkj.com/article46/hhphhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、做網(wǎng)站、App開發(fā)、外貿(mào)建站、品牌網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)