• java中的排序


     

     Product类

    package cn.edu.fhj.day009.ClooectionDemo;
    
    public class Product {
    
    	private String productId;
    	private String productName;
    	private float price;
    	private int num;
    
    	public Product() {
    
    	}
    
    	public Product(String productId, String productName, float price, int num) {
    		this.productId = productId;
    		this.productName = productName;
    		this.price = price;
    		this.num = num;
    	}
    
    	public String getProductId() {
    		return productId;
    	}
    
    	public void setProductId(String productId) {
    		this.productId = productId;
    	}
    
    	public String getProductName() {
    		return productName;
    	}
    
    	public void setProductName(String productName) {
    		this.productName = productName;
    	}
    
    	public float getPrice() {
    		return price;
    	}
    
    	public void setPrice(float price) {
    		this.price = price;
    	}
    
    	public int getNum() {
    		return num;
    	}
    
    	public void setNum(int num) {
    		this.num = num;
    	}
    
    	/**
    	 * toString是一个用来拼装对象内部数据成一个字符串的方法 外部调用该方法即可获取对象数据的拼接字符串
    	 */
    	public String toString() {
    		return this.productId + "," + this.productName + "," + this.price + ","
    				+ this.num;
    	}
    
    }
    

      

    User类

    package cn.edu.fhj.day009.ClooectionDemo;
    
    public class User implements Comparable<User> {
    
    	// id ,name ,age ,salary
    	private String id;
    	private String name;
    	private int age;
    	private float salary;
    
    	public User() {
    
    	}
    
    	public User(String id, String name, int age, float salary) {
    		this.id = id;
    		this.name = name;
    		this.age = age;
    		this.salary = salary;
    	}
    
    	public String getId() {
    		return id;
    	}
    
    	public void setId(String id) {
    		this.id = id;
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public int getAge() {
    		return age;
    	}
    
    	public void setAge(int age) {
    		this.age = age;
    	}
    
    	public float getSalary() {
    		return salary;
    	}
    
    	public void setSalary(float salary) {
    		this.salary = salary;
    	}
    
    	@Override
    	public String toString() {
    		return this.id + "," + this.name + "," + this.age + "," + this.salary;
    	}
    
    	@Override
    	public int compareTo(User other) {
    		if (this.age > other.getAge()) {
    			return -1;
    		}
    		if (this.age == other.getAge()) {
    			return 0;
    		} else {
    			return 1;
    		}
    	}
    
    }
    

      

    排序

    用来运行的文件

    package cn.edu.fhj.day009.ClooectionDemo;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    
    public class ColectionTest {
    	public static void main(String[] args) {
    		ArrayList<User> uList = new ArrayList<>();
    		User u1 = new User("1", "a", 1, 2000);
    		User u2 = new User("2", "b", 10, 3000);
    		User u5 = new User("5", "e", 490, 2300);
    		User u3 = new User("3", "c", 100, 1800);
    		User u4 = new User("4", "d", 200, 2300);
    
    		User u6 = new User("6", "f", 555, 2300);
    		User u7 = new User("7", "g", 666, 2300);
    		uList.add(u1);
    		uList.add(u7);
    
    		uList.add(u2);
    
    		uList.add(u3);
    		uList.add(u5);
    		uList.add(u4);
    		uList.add(u6);
    
    		Collections.sort(uList);
    
    		for (User item : uList) {
    			System.out.println(item.toString());
    		}
    
    		Product p1 = new Product("1", "a", 10, 9);
    		Product p2 = new Product("2", "b", 20, 9);
    		Product p3 = new Product("3", "c", 15, 6);
    		Product p4 = new Product("4", "d", 30, 9);
    
    		ArrayList<Product> pList = new ArrayList<>();
    
    		pList.add(p1);
    		pList.add(p2);
    		pList.add(p3);
    		pList.add(p4);
    		// 用Collections工具来排序
    		// 方式1:传专门的比较器给工具,本方式最通用,想按什么比就按什么比
    		Collections.sort(pList, new Comparator<Product>() {
    
    			@Override
    			public int compare(Product o1, Product o2) {
    				if (o1.getPrice() > o2.getPrice()) {
    					return 1;
    				}
    				return -1;
    			}
    		});
    
    		for (Product item : pList) {
    			System.out.println(item.toString());
    		}
    
    	}
    
    }
    

     

  • 相关阅读:
    Python----面向对象---自定义元类控制类的实例化行为的应用
    Python----面向对象---自定义元类控制类的实例化行为
    Python----面向对象---自定义元类控制类的行为
    Python----面向对象---元类介绍
    Python----面向对象---内置方法--__str__方法和__del__方法
    Python----面向对象---内置方法--isinstance(obj,cls)、issubclass(sub, super)、item系列
    Python----面向对象---反射的应用
    Python----面向对象---反射
    Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)
    贝叶斯学习1
  • 原文地址:https://www.cnblogs.com/cerofang/p/10273188.html
Copyright © 2020-2023  润新知