首页 > 编程语言 >【java】数组的常用操作

【java】数组的常用操作

时间:2023-07-09 22:00:57浏览次数:59  
标签:常用 java 数组 int Arrays score Student public name

sort

static void sort(int[] a) :将a数组按照从小到大进行排序
static void sort(int[] a, int fromIndex, int toIndex) :将a数组的[fromIndex, toIndex)部分按照升序排列
static void sort(Object[] a) :根据元素的自然顺序对指定对象数组按升序进行排序。
static <T> void sort(T[] a, Comparator<? super T> c) :根据指定比较器产生的顺序对指定对象数组进行排序。

需要自己定义比较器

import org.junit.Test;

import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Locale;

public class TestArrays {

    @Test
    public void test02() {
        int[] arr = {3, 2, 5, 1, 6};
        System.out.println("排序前" + Arrays.toString(arr));
        Arrays.sort(arr);
        System.out.println("排序后" + Arrays.toString(arr));

        Student[] students = new Student[3];
        students[0] = new Student("张三", 96);
        students[1] = new Student("李四", 85);
        students[2] = new Student("王五", 98);

        System.out.println(Arrays.toString(students));
        Arrays.sort(students);
        System.out.println(Arrays.toString(students));
        Arrays.sort(students, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                return Collator.getInstance(Locale.CHINA).compare(((Student) o1).getName(), ((Student) o2).getName());
            }
        });
        System.out.println(Arrays.toString(students));
    }
}


class Student implements Comparable {
    private String name;
    private int score;

    public Student(String name, int score) {
        this.name = name;
        this.score = score;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", score=" + score +
                '}';
    }

    @Override
    public int compareTo(Object o) {
        return this.score - ((Student)o).score;
    }
}

标签:常用,java,数组,int,Arrays,score,Student,public,name
From: https://www.cnblogs.com/abc-begin/p/17539509.html

相关文章

  • 暗黑2能用Java开发?还能生成APP?
    最近烧哥发现个宝藏项目,竟然用Java开发了暗黑2出来。众所周知,暗黑2是暴雪开发的一款经典游戏,距今虽有20多年,仍然有很多粉丝。粉丝延续热情的方式有很多,一种是做Mod,比如魔电,对怪物、技能、物品、场景、甚至游戏机制都有大改,目前还在定期更新,并有战网提供。另一种是纯怀旧,用另......
  • Java虚拟机(JVM):第四幕:自动内存管理 - 经典垃圾收集器
    前言:如果说收集算法是内存回收的方法论,那么垃圾收集器则是内存回收的实践者。整哥Java堆:FullGC。1、Serial收集器:最基础、历史最悠久的收集器,这是一个单线程工作的收集器。2、ParNew收集器:是Serial收集器的多线程并行版本,可以说是跟Serial完全一样。CMS收集......
  • 开心档之Java 测验
    目录Java测验 Java测验Java测验技术文档Java测验是一种衡量Java编程水平的测试,可以通过一系列问题和编程任务来测试Java开发人员的技能水平和理解程度。Java测验可以用于聘用程序员、衡量编程实践水平和掌握Java的程度。Java测验通常涵盖以下主题:基本语法-测试Ja......
  • ABAP OLE 常用实例
    OLE方式一编辑模版上传模板(smw0)下载模板DATA:lo_objdataLIKEwwwdatatab,ls_errtxtTYPEstring,li_rcLIKEsy-subrc.SELECTSINGLErelidobjidINTOCORRESPONDINGFIELDSOFlo_objdataFROMwwwdata......
  • linux常用命令
    1.linux常用命令1.1简介Linux_百度百科(baidu.com)1.2虚拟机相关安装:虚拟机安装linux,这里不做介绍登录:如果是root,提示符为#,普通用户则为$退出:logout重启:reboot关机:halt1.3linux文件系统了解即可linux下一切皆是文件目录结构1.3.1 目录说明 /:为跟目录/bin:b......
  • 将二维数组扁平化,或者说变成一维数组
    代码:a=[[1,2],[3,4]]#扁平化b=[iforiteminaforiinitem]#或importnumpyasnpnpa=np.arrary(a)b=npa.ravel()#andb=npa.flatten()ravel和flatten的区别在于使用ravel形成的数据在修改后会影响np.array的源数据上面的代码使用ravel后修改b的值......
  • Java - JavaWeb - Concepts
    1.Servlet配置1.1.配置父级项目配置好IntellijIDEA/MAVEN之后, 创建一个新项目com.crevew.javaweb-02-servlet,然后删除所有的SRC(方便接下来创建servlet模块);然后更新最外面的父pom.xml,加上<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.......
  • 常用的markdown的格式总结
    markdown格式<center>居中<center>;<divalign='center'>居中</div>实现文字居中。\tag{}公式编号。常用的markdown格式的链接https://blog.csdn.net/Annie_0321/article/details/115764983markdown花体字的写法。https://www.jianshu.com/p/d26dbcb26cc5ma......
  • 算法题-生成窗口最大值数组
    https://leetcode.cn/problems/sliding-window-maximum/ classSolution{publicint[]maxSlidingWindow(int[]nums,intk){if(nums==null||nums.length==0||k<0){returnnull;}int[]result=newint[nums.length-k+1];......
  • String内存模型和Java常用方法
    一、String内存模型1、直接赋值创建string对象内存原理:StringTable(串池):字符串常量池,用来存储字符串,只能是在直接赋值中使用才会存在串池当中(JDK7前串池是在方法区里面,StringTable(串池)在JDK7版本开始从方法区中挪到了堆内存,但是运行机制没有发生变化)eg:首先mian方法进栈,创建变......