【题目10】定义一个Point类,包含两个成员变量x和y,分别表示横坐标和纵坐标,随机创建100个点,升序显示这些点。

package leif;

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

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

public class Test {
    public static void main(String[] args) {
        Random random = new Random();

        List<Point> pointList = new ArrayList<Point>() {
            private static final long serialVersionUID = 1L;

            {
                for (int i = 1; i <= 100; i++) {
                    add(new Point(random.nextInt(100), random.nextInt(100)));
                }
            }
        };

        System.out.println(pointList);

        Collections.sort(pointList, new Comparator<Point>() {
            @Override
            public int compare(Point point1, Point point2) {
                int i = point1.getX() - point2.getX();

                if (i == 0) {
                    return point1.getY() - point2.getY();
                } else {
                    return i;
                }
            }
        });

        System.out.println(pointList);
    }
}

@Data
@NoArgsConstructor
@AllArgsConstructor
class Point {
    private int x;
    private int y;
}

【题目10】定义一个Point类,包含两个成员变量x和y,分别表示横坐标和纵坐标,随机创建100个点,升序显示这些点。

你可能感兴趣的:(【题目10】定义一个Point类,包含两个成员变量x和y,分别表示横坐标和纵坐标,随机创建100个点,升序显示这些点。)