精华内容
下载资源
问答
  • 刷题小技能:java实现对二维数组中的一维数组进行排序功能描述代码实现 功能描述 有这样一个二维数组int[][] two = new int[n][2];要对二维数组进行排序,实现其元素,即其中的一维数组: 按照数组第一个元素进行...

    刷题小技能:java实现对二维数组中的一维数组进行排序

    功能描述

    有这样一个二维数组int[][] two = new int[n][2];要对二维数组进行排序,实现对其元素,即其中的一维数组:

    1. 按照数组第一个元素进行排序;
    2. 如果第一个元素相等,则按照第二个元素进行排序;
    3. 以此类推

    代码实现

    Arrays.sort(intervals, new Comparator<int[]>(){
        @Override
        public int compare(int[] a1, int[] a2){
            if(a1[0] == a2[0]){
            	if(a1[1] == a2[1]){
    				return a1[2] - a2[2];
    				//以此类推。。。
    			}
                return a1[1] - a2[1];
            }
            return a1[0] - a2[0];//这样写表示升序,如果是a2[0] - a1[0]表示降序
            //记忆方法:可以看作a1是小元素,a2是大元素,return的减法式子里的顺序就是排序顺序
        }
    });
    
    展开全文
  • 假设有个二维数组: int[][] arr = {{1,2},{3,4},{5,6}}; 需要给按一定规则调整,其中一维数组的顺序,比如规则为按一维数组的首元素从小到大排。 数组排序可以使用Arrays.sort(),自定义规则的话需要自己定义...

    需要是这样的:
    假设有个二维数组:

    int[][] arr = {{1,2},{3,4},{5,6}};
    

    需要给按一定规则调整,其中一维数组的顺序,比如规则为按一维数组的首元素从小到大排。
    数组排序可以使用Arrays.sort(),自定义规则的话需要自己定义Comparator即可。
    但是对于二维数组也可以使用Arrays.sort()吗?答案是肯定的,二维数组作为一个Object传入。Comparator中的为int[]。写法如下:

    Arrays.sort(arr,new Comparator<int[]>(){
    	@Override
    	public int compare(int[] arr1,int[] arr2) {
    		return arr1[0] - arr2[0];
    	}
    });
    
    展开全文
  • Java二维数组排序

    万次阅读 2019-06-29 15:46:12
    Java二维数组排序

    Java二维数组排序

    Java二维数组排序

    关于Java二维数组的排序方法之一是把二维数组放进一维数组然后试用版Arrays.sort();进行排序,排序结束后再把一维数组内容重新写入二维数组内,代码实现如下:

    为了方便,我在这里使用了随机数生成方法Math.random()进行随机数生成,依次写入二维数组内:

    import java.util.*;
    public class P11{
    	public static void main(String[] args){
    		int[][] arr=new int[5][5];
    		for(int i=0;i<arr.length;i++){
    			for (int j=0;j<arr[i].length;j++){//生成随机数【100-1000】
    				arr[i][j]=(int)(Math.random()*(1000-100+1)+100);
    			}
    		}
    		for(int i=0;i<arr.length;i++){
    			System.out.println(Arrays.toString(arr[i]));
    		}
    		System.out.println();
    		for(int i=0;i<arr.length;i++){
    			Arrays.sort(arr[i]);
    		}
    		for(int i=0;i<arr.length;i++){
    			System.out.println(Arrays.toString(arr[i]));
    		}
    		int[] temp=new int[25];
    		int k=0;
    		for(int i=0;i<arr.length;i++){
    			for(int j=0;j<arr[i].length;j++){
    				temp[k]=arr[i][j];
    				k++;
    			}
    		}
    		System.out.println();
    		for(int x:temp){
    			System.out.print(x+" ");
    		}
    		Arrays.sort(temp);
    		System.out.println();
    		for(int x:temp){
    			System.out.print(x+" ");
    		}
    		k=-1;
    		for(int i=0;i<arr.length;i++){
    			for(int j=0;j<arr[i].length;j++){
    				k++;
    				arr[i][j]=temp[k];
    			}
    		}
    		System.out.println();
    		System.out.println();
    		for(int i=0;i<arr.length;i++){
    			System.out.println(Arrays.toString(arr[i]));
    		}
    	}
    }
    

    因为使用了随机数生成的数组内容,所以每次运行数组内容都不尽相同,本次运行结果如下:

    排序结果

    展开全文
  • 利用冒泡排序对字符串二维数组进行排序 package lan; public class array { public static void main(String[] args) { String arr[][]= {{"青年节","5.4"}, {"教师节","9.10"}, {"女生节","3.9"}, {"妇女...

    利用冒泡排序对字符串二维数组进行排序  

    package lan;
    
    public class array {
        public static void main(String[] args) {
            String arr[][]=
                    {{"青年节","5.4"},
                    {"教师节","9.10"},
                    {"女生节","3.9"},
                    {"妇女节","3.8"},
                    {"国庆节","10.1"},
                    {"元旦","1.1"},
                    {"劳动节","5.1"},
                    {"儿童节","6.1"}};
    /*
    * 通过循环 获取到每个一维数组下标为1的元素
    * 通过Double.parseDouble把获取到的字符串数字转为double数
    * 通过冒泡排序进行排序
    *
    * */
            System.out.println("排序前的数组:");
            printArr(arr);
    
                for(int i=0;i<arr.length-1;i++){
                    for(int j=0;j<arr.length-1-i;j++){
    
                        if(Double.parseDouble(arr[j][1])>Double.parseDouble(arr[j+1][1])){
                            String temp=arr[j][1];
                            arr[j][1]=arr[j+1][1];
                            arr[j+1][1]=temp;
                        }
                    }
    
                }
    
                //调用打印方法
                System.out.println("排序后的数组:");
                printArr(arr);
    
        }
        public static void printArr(String[][] arr){
            for(int a=0;a<arr.length;a++){
                for(int b=0;b<arr[a].length;b++) {
                    System.out.print(arr[a][b]+"\t");
                }
                System.out.println();//换行
            }
        }
    
    }
    

     

    展开全文
  • Java如何给二维数组排序

    千次阅读 2020-08-17 10:11:50
    首先,因为是给定的二维数组排序 那么自然就对应Java官方库的Arrays工具类 即:Arrays.sort(T[] a, Comparator<? super T> c) 如二维整型数组 int[][] 2darr = new int[10][10]; 则有: (下面写法是按照...
  • //借助Arrays的方法对二维数组进行排序。 //参考思路: //先把二维数组使用System.arraycopy进行数组复制到一个一维数组 //然后使用sort进行排序 //最后再复制回到二维数组。 import java.util.Arrays; public ...
  • Java对二维数组排序

    2021-03-10 19:15:38
    排序规则:首先按照每个一维数组第一个元素进行升序排序,若第一个元素相等,则按照第个元素进行升序排序。 原代码 Arrays.sort(a, new Comparator<int[]>() { @Override public int compare(int[] o1, int...
  • Java | 二维数组排序

    2021-09-15 10:35:22
    借助Arrays的方法对二维数组进行排序。 参考思路: 先把二维数组使用System.arraycopy进行数组复制到一个一维数组 然后使用sort进行排序 最后再复制回到二维数组。 代码示例 package Test; import java.lang....
  • java二维数组排序

    2020-12-31 11:12:39
    写Leetcode第435题需要用到对二维数组的按列排序(第二列),特此记录。 一维数组排序很简单,调用Arrays.sort(array)就可以直接进行排序。二维数组稍微复杂一些。 二维数组根据第一列排序: int[][] ts_id ...
  • *8.16(对二维数组排序)编写一个方法,使用下面的方法头对二维数组排序。这个方法首先按行排序,然后按列排序题目题目描述破题代码运行实例 题目 题目描述 *8.16(对二维数组排序)编写一个方法,使用下面的方法头...
  • 前言 编写Java代码,突然想整型二维数组进行排序,按第一列排序; 后面想字符串型二维数组进行排序,按第二列排序 实例 String arr[][]= {{"青年节","5.4"}, {"教师节","9.10"}, {"女生节","3.9"}, {"妇女节",...
  • Java完成二维数组排序

    千次阅读 2019-04-11 00:17:43
    二维数组中(每个一维数组的长度相同),按照如下规则排序:每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序 public class HashMapTest { public static void main(String[] args) { ...
  • 二维数组的语法格式如下: 数据类型 [ ][ ] 数组名 或者 数据类型 数组名 [ ][ ]; int [ ][ ]scores=new int[ 5 ][10]; *需要强调的是,虽然从语法上看java支持多维数组,但是从内存分配原理的角度看.java中只有一维...
  • 运用java 实现二维数组排序 (排序要求为‘基于第一个元素排序’组合不变) 三种排序方法分别为: 选择排序,插入排序和排列排序; //选择排序 public class Sort { public static void main(String[] args) { int...
  • java 对二维数组排序的几种方法

    万次阅读 2016-11-29 22:36:12
    // 二维数组全部排序 public void dAM2() { int[][] a = { { 12, 26, 89, 78, 45, 65, 36 }, { 2, 6, 90, 34, 16, 27, 5 }, { 13, 3, 4, 29, 33, 37, 17 }, { 1, 9, 19, 49, 57, 22, 11 }, ...
  • 常用的就是一维数组、二维数组。 一维数组 数组定义:数据就是相同数据元素的集合。 数组是一种引用数据类型。不属于基本数据类型。 (1) 如何定义(声明)一维数组? 声明格式:数据类型[] 数组名称; (2) ...
  • import java.util.Arrays; public class Item{ public static void main(String[] args) { int [][]a = new int[5][8]; int b[] = null; System.out.println("原数组值为:"); for(int i = 0 ; i < ...
  • package ... import java.util.Arrays; import java.util.Random; import java.util.Scanner; public class ZuoYe { public static void main(String[] args) { Random random=new Random();...// 9. ...
  • 对二维数组排序 java

    千次阅读 2018-11-06 22:20:29
    对二维数组进行排序如同输入{{4,2}, {1,7}, {4, 5}, {1,2},{1,1},{4,1}}将会排为{{1,1}, {1,2}, {1, 7}, {4,1},{4,2},{4,5}} 代码 private static int[][] sort(int[][] m) { int[] m1 = new ...
  • JAVA 二维数组 排序

    2021-05-24 00:17:48
    二维数组 int[][] 数组名=new int[2][2]; import java.util.Scanner; public class Day6T1 { public static void main(String[] args) { int[][] scores = new int[2][]; Scanner input = new Scanner(System...
  • 对二维数组排序

    2019-09-04 08:49:13
    Arrays.sort()不能对二维数组直接排序。需要把二维数组看成是”每个元素是一维数组的一维数组“,传入外比较器自定义比较规则。 import java.util.Arrays; import java.util.Comparator; public class RedBook { ...
  • Java Arrays.sort()对二维数组排序

    千次阅读 2020-03-29 13:18:44
    今天在解决leetcode的合并区间出现了需要用到二维数组的排序, 突然间想起来自己对于这方面不是很懂,虽然自己...然后就发现了新大陆,调用这个方法,完美解决二维数组排序的问题 int [][]a = new int [5][2]; //...
  • Java 二维数组排序

    2020-05-19 08:58:30
    //定义一个二维数组,其中所包含的一维数组具有两个元素 对于一个已定义的二位数组a进行如下规则排序,首先按照每一个对应的一维数组第一个元素进行升序排序(即a[][0]),若第一个元素相等,则按照第二个元素进行升序...
  • 1.练习-二维数组排序 首先定义一个5X8的二维数组,然后使用随机数填充满。 借助Arrays的方法二维数组进行排序。 参考思路: 先把二维数组使用System.arraycopy进行数组复制到一个一维数组 然后使用sort进行排序 ...
  • Java中Arrays.sort()函数是不能对二维数组进行排序的。 那么,我们应该怎么对Java中二维数组进行排序呢?之前在《Java不规则二维数组的双维度排序》一文已经讲过一种方法了,现在让我们一起来看看另一种方法...
  • java 二维数组排序

    2021-04-18 17:23:49
    排序规则: 先按数组的第一个元素进行升序排序,若第一个元素相等,则按照第个元素进行升序排序。 使用API:Arrays.sort()(T[] a, Comparator<? super T> c),该API根据给定的比较器(设定排序方式)指定的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,633
精华内容 15,053
关键字:

java中对二维数组排序

java 订阅