简单的Java对象数组进行排序

原创 2018年04月17日 09:06:52

比如要对一个对象进行排序,根据他的分数来进行排序,首先要是实现Comparable接口,实现compareTo方法。

public class Person implements Comparable<Person>{
	int score;
	String name;
	
	
	public Person(int score, String name) {
		super();
		this.score = score;
		this.name = name;
	}
	public int getScore() {
		return score;
	}
	public void setScore(int score) {
		this.score = score;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@Override
	public String toString() {
		return "Person [score=" + score + ", name=" + name + "]";
	}
	
	
	@Override
	public int compareTo(Person o) {
		return this.score - o.score;
	}
	
	
}
package orm_sort;

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

public class SortTest {

	static ArrayList<Person> persons = new ArrayList<>();



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

		persons.add( new Person(980, "M1"));
		persons.add( new Person(34, "M2"));
		persons.add( new Person(12, "M3"));
		persons.add( new Person(65, "M4"));
		persons.add( new Person(12, "M5"));
		persons.add( new Person(33, "M6"));
		persons.add( new Person(90, "M7"));
		persons.add( new Person(123, "M8"));


		Collections.sort(persons);
		for (Person person : persons) {
			System.out.println(person.toString());;
		}
		System.out.println(persons.get(persons.size()-1).toString());
	}
}


输出结果:

Person [score=12, name=M3]
Person [score=12, name=M5]
Person [score=33, name=M6]
Person [score=34, name=M2]
Person [score=65, name=M4]
Person [score=90, name=M7]
Person [score=123, name=M8]
Person [score=980, name=M1]
Person [score=980, name=M1]

结果为从小到大排序。

如果想从大到小排序,实现compareTo方法时,用o.score -this.score即可

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hdg745979749/article/details/79969565

对象数组通过对象的属性进行排序

最常见的对数组进行排序,可以用sort()方法,按照数组中元素的首字母或者数字大小进行排序var arr = [2,5,13,7,4,9,1]; var arr1 = arr.sort(); cons...
  • xiaobing_hope
  • xiaobing_hope
  • 2017-03-31 00:11:38
  • 9209

Java中对象数组的排序

Java中对象数组的排序 By icycandy, at 2009/03/06 09:43:00 在Java中排序似乎没有C++中那么方便,搜索了很久看了很多文章,大概都是说要用A...
  • hao5743
  • hao5743
  • 2014-10-26 15:29:55
  • 7393

JAVA 对象数组按照多个属性进行排序

下文可以直接拿来运行使用,也可以直接下载附件包,编译直接运行就可以看到效果。   //ObjectSort package sort; import java.util.Arr...
  • liuxiao723846
  • liuxiao723846
  • 2015-06-05 10:12:38
  • 814

java 对象数组的排序(实现Comparable接口)和二分查找

package practice;import java.util.Arrays; import java.util.Comparator;/** * Created by fangjiejie o...
  • StubbornAccepted
  • StubbornAccepted
  • 2016-12-04 20:11:46
  • 1273

对一个对象数组进行排序

package cn.huhui.demo05;   import java.beans.IntrospectionException;   /* * * 2017.9.13 * 定义...
  • qq_36781237
  • qq_36781237
  • 2017-12-04 22:13:11
  • 108

如何实现自定义类对象数组的排序

 我想熟悉Arrays.sort()方法的朋友,无疑肯定是掌握了如何对基本类型的数组进行排如序,而在这里,我想说一下,如何对自定义类对象的数组进行排序?例如,我定义一个Student类,拥有两个属性,...
  • zhangw0322
  • zhangw0322
  • 2009-07-31 09:04:00
  • 4539

1.给出一个Person类里面包含姓名、年龄、成绩,声明5个Person对象数组,要求对数组中的内容进行排序,排序规则如下:按成绩由高到低排序,如果成绩一样,按年龄由高到低排序。

重点:构造函数的使用的方法。 public class Person {     //定义成员变量     String name;     int age;     float score...
  • qq_30434845
  • qq_30434845
  • 2016-11-22 19:43:23
  • 169

java编程如何将对象数组按对象中的某一个属性进行排序

在我们现实生产中我们手中获得的数据并不一定就是我们想要的数据,因此我们经常要对其进行加工、锤炼,闲话少说,今天我们谈一下如何将对象数组按对象中的某一个属性进行排序。         主要用到的技术是...
  • computerbugs
  • computerbugs
  • 2013-01-25 15:36:49
  • 2500

C++对象、对象数组的排序

C++对象、对象数组的排序
  • yinkaishikd
  • yinkaishikd
  • 2015-06-24 12:20:35
  • 2268

【iOS】对象数组排序最简单的方法

一个数组内是对象类型.想根据对象内的属性进行排序. 很多人第一想到的是利用谓词.其实数组自带了一个更简便的方法便于我们进行排序 - (void)sortUsingComparator:(NSC...
  • qq_24702189
  • qq_24702189
  • 2018-02-07 13:23:44
  • 20
收藏助手
不良信息举报
您举报文章:简单的Java对象数组进行排序
举报原因:
原因补充:

(最多只允许输入30个字)