网站建设资讯

NEWS

网站建设资讯

java代码把数组分组 java 数组拆分

java list 分组

public static String[] compareArray(String[] strs_a,String[] strs_b){

网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于成都定制网页设计,高端网页制作,对边坡防护网等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业网站推广优化,H5建站,响应式网站。

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"});

输出结果为:

1 1,2

2 1

不知满足你的要求不?不满足接着追问

java中有一个数组,将其元素一个一个按顺序拆分给若干数组,数组个数是可变参数,写成一个方法以供调用。

如果用java的整形数组,可能存在一个问题,就是你传入的数字,不能被数组长度整除,而二维数组要求数组中每个元素长度一致,所以只能把多余的元素抛弃。

按照下面例子,第一次传11个数,至打印出三个数组,换成12个数,就能打印出四个数组了,望采纳。

package test;

import java.util.Arrays;

public class splitArr {

public static int[][] split(int [] arr,int n){

int m = arr.length/n;//返回的数组个数

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]));

}

}

}

验证结果

java 怎么将一个数组拆分成两个数组

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));

}

}

运行结果

Java 对已经排好序的数组进行分组。

1.分组后的数组 事先可能不能完全声明出来,因为分组后的数组个数是不固定的,应该声明个全局变量Map map 用于存放这些数组

2.遍历array数组,取出第一批相同值的数值 放进array_one里(成员变量),然后把array_one放进map里面,同理可取出一二批相同值的数值 放进array_two里,然后把array_one放进map里面...

3.遍历map,取出map里的array_one,array_two....array_100....

打字不容易的....给分吧


网站栏目:java代码把数组分组 java 数组拆分
URL分享:http://njwzjz.com/article/hhphhg.html