美文网首页
对java中排序方法返回值的理解

对java中排序方法返回值的理解

作者: SmileMylife | 来源:发表于2019-10-15 20:10 被阅读0次

代码示例:

package com.example.springboot.interview;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

/**
 * Created by ZhangPei on 2019/10/10.
 */
public class TestForInterview {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(10);
        list.add(9);
        list.add(7);
        list.add(11);
        list.add(2);
        list.add(8);
        list.add(9);

        System.out.println("排序前" + list);


        list.sort((o1, o2) -> {     //o1为需要排序的数组右边一个数,o2为左边
            if (o1 > o2) {  //升序如果右边大于左边则不需要换顺序,返回1即可。
                return 1;
            } else {
                return -1;
            }
        });

        System.out.println(list.toString());

        list.sort((o1, o2) -> {     //o1为需要排序的数组右边一个数,o2为左边
            if (o1 > o2) {
                return -1;      //降序如果右边大于左边则需要换顺序,返回-1即可。
            } else {
                return 1;
            }
        });

        System.out.println(list.toString());

        //对象排序
        Person person1 = new Person(23, "zhangpei1");
        Person person2 = new Person(21, "zhangpei2");
        Person person3 = new Person(25, "zhangpei3");
        Person person4 = new Person(57, "zhangpei4");
        Person person5 = new Person(23, "zhangpei5");
        Person person6 = new Person(30, "zhangpei6");
        Person person7 = new Person(23, "zhangpei7");

        List<Person> arrayList = new ArrayList<>();

        arrayList.add(person1);
        arrayList.add(person2);
        arrayList.add(person3);
        arrayList.add(person4);
        arrayList.add(person5);
        arrayList.add(person6);
        arrayList.add(person7);

        arrayList.sort((o1, o2) -> {
            if (o1.getAge() > o2.getAge()) {
                return 1;
            } else {
                return -1;
            }
        });
        
        System.out.println(arrayList.toString());
    }
}

class Person {
    private int age;
    private String username;

    public Person(int age, String username) {
        this.age = age;
        this.username = username;
    }

    public int getAge() {
        return age;
    }

    public String getUsername() {
        return username;
    }

    @Override
    public String toString() {
        return this.getUsername();
    }
}

相关文章

  • 对java中排序方法返回值的理解

    代码示例:

  • 数组排序方法

    数组排序方法介绍 (注意:排序后返回值是不可变数组类型) //排序方法1 (块排序) //排序方法2. //排序...

  • Java方法签名与方法块

    Java方法签名 Java的方法签名不包括返回值。 Java的方法签名包括:方法名和参数。不包括方法返回值。所以由...

  • Java基础整理(二)

    Java方法的几种类型 无参无返回值的方法 无参有返回值的方法 有参无返回值的方法 有参有返回值的方法 Java ...

  • Java 中无参无返回值方法的使用

    Java 中无参无返回值方法的使用 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。 方法的使用分两...

  • Java 中无参带返回值方法的使用

    Java 中无参带返回值方法的使用 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。 例如:下面的代码...

  • Java实例-数组

    1、Java 实例 – 数组排序及元素查找:使用sort()方法对Java数组进行排序,使用 binarySear...

  • kotlin基础语法

    函数定义 有返回值的函数 无返回值的函数(类似Java中的void): 可变长参数函数 静态方法 Java代码: ...

  • java中无参带返回值方法总结

    1.Java 中无参带返回值方法的使用 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。 例如:下面的...

  • Java 中带参带返回值方法的使用

    Java 中带参带返回值方法的使用 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法。 例如:下面的代...

网友评论

      本文标题:对java中排序方法返回值的理解

      本文链接:https://www.haomeiwen.com/subject/cwqemctx.html