×

java集合arraylist排序

java集合arraylist排序(java arraylist 按照对象的属性排序)

admin admin 发表于2024-05-23 22:15:15 浏览30 评论0

抢沙发发表评论

大家好,关于java集合arraylist排序很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于java arraylist 按照对象的属性排序的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

本文目录

java arraylist 按照对象的属性排序

List中的元素是对象的话,若要按该List中元素的某个属性进行排序,那么应该重写里面元素的hashCode和equals方法,然后再排序。比如该问题要重写course的hashCode和equals方法

Java中怎样对ArrayList集合中的指定列排序

ArrayList就是一个可以改变大小的一维数组.当然你可以往ArrayList里放ArrayList或者其它的容器什么的那就用标准的排序方法就行了用容量类就用Collections.sort数组就用Arrays.sort还有什么不清楚直接m我百度知道最近抽风了不能回答追问

java 怎么将List里面数据排序

import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class ArrayListOrder {public static void main(String args) {List《List《Integer》》 list = new ArrayList《List《Integer》》();List《Integer》 arrayList1 = new ArrayList《Integer》();arrayList1.add(2);arrayList1.add(5);arrayList1.add(6);list.add(arrayList1);List《Integer》 arrayList2 = new ArrayList《Integer》();arrayList2.add(2);arrayList2.add(4);arrayList2.add(6);list.add(arrayList2);List《Integer》 arrayList3 = new ArrayList《Integer》();arrayList3.add(2);arrayList3.add(6);arrayList3.add(6);list.add(arrayList3);List《Integer》 arrayList4 = new ArrayList《Integer》();arrayList4.add(2);arrayList4.add(1);arrayList4.add(6);list.add(arrayList4);for (List《Integer》 tmpList : list) {System.out.print(tmpList.get(1)+"   ");}System.out.println("");//排序Collections.sort(list,new Comparator《List《Integer》》(){public int compare(List《Integer》 list1, List《Integer》 list2) {//比较每个ArrayList的第二个元素if(list1.get(1)==list2.get(1)){return 0;}else if(list1.get(1)》list2.get(1)){return 1;}else{return -1;}}});for (List《Integer》 tmpList : list) {System.out.print(tmpList.get(1)+"   ");}}}

java ArrayList排序底层是怎么实现的

list是一个集合,可以存入很多种对象类型。如果你存入的都是自定义类,怎么能排序呢。如果你用泛型存入字符串或是数字等,排序就是按照intstring这些类型进行排序,排序方法也有很多种比较法冒泡法等。如果你想了解排序可以网上看一下各种排序的算法,自己体会下优缺点。

如何实现对ArrayList排序 sort

package com.collection;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class Test {public static void main(String args) {Student zlj = new Student("丁晓宇", 21);Student dxy = new Student("赵四", 22);Student cjc = new Student("张三", 11);Student lgc = new Student("刘武", 19);List《Student》 studentList = new ArrayList《Student》();studentList.add(zlj);studentList.add(dxy);studentList.add(cjc);studentList.add(lgc);System.out.println("按年龄升序:");Collections.sort(studentList, new SortByAge());for (Student student : studentList) {System.out.println(student.getName() + " / " + student.getAge());}System.out.println();System.out.println("按姓名排序:");Collections.sort(studentList, new SortByName());for (Student student : studentList) {System.out.println(student.getName() + " / " + student.getAge());}}}class SortByAge implements Comparator {public int compare(Object o1, Object o2) {Student s1 = (Student) o1;Student s2 = (Student) o2;return s1.getAge().compareTo(s2.getAge());// if (s1.getAge() 》 s2.getAge())// return 1;// return -1;}}class SortByName implements Comparator {public int compare(Object o1, Object o2) {Student s1 = (Student) o1;Student s2 = (Student) o2;return s1.getName().compareTo(s2.getName());}}输出结果:按年龄升序:张三 / 11刘武 / 19丁晓宇 / 21赵四 / 22按姓名排序:丁晓宇 / 21刘武 / 19张三 / 11赵四 / 22

Java中的ArrayList怎么进行冒泡排序

java中的ArrayList进行冒泡排序,主要是循环遍历取出数据,然后进行比较排序,如下代码:

package com.qiu.lin.he;import java.util.ArrayList;public class Ceshi {public static void main(String args) {ArrayList《Integer》 list = new ArrayList《Integer》();list.add(76);list.add(4);list.add(786);list.add(43);list.add(21);list.add(432);list.add(10);for (int i = 0; i 《 list.size() - 1; i++) {for (int j = 1; j 《 list.size() - i; j++) {Integer a;if (list.get(j - 1).compareTo(list.get(j)) 》 0) { // 比较两个整数的大小a = list.get(j - 1);list.set((j - 1), list.get(j));list.set(j, a);//交换数据}}}for (Integer s : list) {System.out.println(s.intValue());//输出arraylist的数据}}}

运行结果如下:

java如何对Arraylist数组进行排序(用comparable)

看代码:

import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;public class Demo {public static void main(String args) throws Exception {Pair pairs = {new Pair(0, 1),new Pair(2, 9),new Pair(7, 0),new Pair(8, 8),new Pair(8, 6),new Pair(9, 2),new Pair(1, 5),new Pair(8, 2),new Pair(9, 15),new Pair(9, 5)};ArrayList《Pair》 pairList = new ArrayList《》(Arrays.asList(pairs));System.out.println("排序前:");System.out.println(Arrays.toString(pairs));Arrays.sort(pairs); // 对数组排序System.out.println("排序后:");System.out.println(Arrays.toString(pairs));System.out.println("排序前:");System.out.println(pairList);Collections.sort(pairList); // 对 ArrayList 排序System.out.println("排序后:");System.out.println(pairList);}}// 继承 Comparable 接口排序该类是 “可排序的”// 《》 里面的是排序时与当前实例进行比较的实例的类型// 一般都和当前实例是同一个类型,比如这里就是 Pair 的实例 和 Pair 的实例比较class Pair implements Comparable《Pair》 {public int left;public int right;public Pair(int left, int right) {this.left = left;this.right = right;}@Overridepublic String toString() {return "";}// 排序规则,先按 left 排序,再按 right 排序@Overridepublic int compareTo(Pair that) {if (this.left 》 that.left) {return 1;} else if (this.left 《 that.left) {return -1;} else if (this.right 》 that.right) {return 1;} else if (this.right 《 that.right) {return -1;}return 0;}}

 

可以发现先按 left 排序,如果 left 相等,则按 right 排序

java如何对ArrayList中对象按照该对象某属性排序

这只是一个做过的例子,我最近很忙,只能提示你一下,相信你能弄出来的,方法:重写方法equals,就是在你定义的类里面加上下面的方法,但内容肯定不同啦。下面是一个例子你看一下就ok了。。。呵呵记得给分啦。一定记住要重写equals方法,还有类要是想接口compareable一个并不能少。今天晚了明天我吧完整的我的程序给你吧

关于java集合arraylist排序,java arraylist 按照对象的属性排序的介绍到此结束,希望对大家有所帮助。