java 集合中怎么将元素倒序排列

public class Text
{
a.add("sui yue weu ");
a.add("guang hui sui yue ");
a.add("hai kuo tian kong");......

}
怎样倒序排列为 hai kuo tian kong
guang hui sui yue
sui yue weu

第1个回答  推荐于2017-09-09
方法一:实现Comparable接口排序package collsort.comparable;
package com.cvicse.sort.comparable;

public class Cat implements Comparable<Cat> {
private int age;
private String name;

public Cat(int age, String name) {
this.age = age;
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
......
public int compareTo(Cat o) {
return this.getAge() - o.getAge();
}
......
}
通过实现Comparable接口实现个性化排序测试。排序测试,Collection.sort(list)升序排列Collections.sort(list, Collections.reverseOrder());降序排列;Collections.reverse(list);反转排序,先输出列表最后一个元素
public class TestComparable {
public static void main(String args[]) {
test();
test2();
}
public static void test() {
......
List<Cat> listCat1 = new ArrayList<Cat>();
Cat cat1 = new Cat(34, "hehe");
Cat cat2 = new Cat(12, "haha");
Cat cat3 = new Cat(23, "leizhimin");
Cat cat4 = new Cat(13, "lavasoft");
listCat1.add(cat1);
listCat1.add(cat2);
listCat1.add(cat3);
......
System.out.println("调用Collections.sort(List<T> list)listCat2升序排序:");
Collections.sort(listCat1);
System.out.println("降序排列元素:");
Collections.sort(listCat1, Collections.reverseOrder());
System.out.println("Collections.reverse 从列表中最后一个元素开始输出:");
Collections.reverse(listCat1);
......
}
/**
* 针对数组的排序
*/
public static void test2() {
String[] strArray = new String[] { "z", "a", "C" };
System.out.println("数组转换为列表");
List<String> list = Arrays.asList(strArray);
System.out.println("顺序排序列表");
Collections.sort(list);
System.out
.println("按String实现的Comparator对象String.CASE_INSENSITIVE_ORDER排序----");
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
System.out.println("倒序排序列表");
Collections.sort(list, Collections.reverseOrder());
......
}
}
方法二:实现Comparator接口排序
public class Person {
private int age;
private String name;
......
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
......
}
实现了Comparator接口,重写了compare方法
import java.util.Comparator;
public class PersonComparator implements Comparator<Person> {
public int compare(Person o1, Person o2) {
return o1.getAge() - o2.getAge();
}
}
测试方法
public class TestComparator {
public static void main(String args[]) {
test1();
}
public static void test1() {
System.out.println("升序排序测试:");
List<Person> listPerson = new ArrayList<Person>();
Person person1 = new Person(34, "lavasoft");
Person person2 = new Person(12, "lavasoft");
Person person3 = new Person(23, "leizhimin");
Person person4 = new Person(13, "sdg");
listPerson.add(person1);
listPerson.add(person2);
listPerson.add(person3);
Comparator<Person> ascComparator = new PersonComparator();
System.out.println("排序后集合为:");
// 利用Collections类静态工具方法对集合List进行排序
Collections.sort(listPerson, ascComparator);
System.out.println("\n降序排序测试:");
// 从升序排序对象产生一个反转(降序)的排序对象
Comparator<Person> descComparator = Collections
.reverseOrder(ascComparator);
System.out.println("利用反转后的排序接口对象对集合List排序并输出:");
Collections.sort(listPerson, descComparator);
outCollection(listPerson);
}
}
第2个回答  2017-04-30
方法一:实现Comparable接口排序package collsort.comparable;
package com.cvicse.sort.comparable;

public class Cat implements Comparable<Cat> {
private int age;
private String name;

public Cat(int age, String name) {
this.age = age;
this.name = name;
}

public int getAge() {
return age;
第3个回答  2015-03-26
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Demo3 {

/**
* @param args
*/
public static void main(String[] args) {
List list=new ArrayList();
list.add("jack");
list.add("rose");
list.add("lucy");
reverse(list);

}

public static void reverse(List list) {
Collections.reverse(list);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}

}
第4个回答  2013-10-20
import java.util.ArrayList;
import java.util.Collections;

public class Test {

public static void main(String[] args) {

ArrayList<String> a = new ArrayList<String>();

a.add("sui yue weu ");
a.add("guang hui sui yue ");
a.add("hai kuo tian kong");

Collections.reverse(a);// 将ArrayLista中的元素进行倒序

for (String str : a)
System.out.println(str);

}

}本回答被网友采纳
第5个回答  2008-07-07
不是有个函数吗?
用数组的啊

java 中,如何将1~100的偶数所组成的List集合倒序排列,谢谢!
public class SortNums { public static void main(String[] s){ List<Integer> list = new ArrayList<Integer>();for(int i=1;i<=100;i++){ if(i%2==0){ list.add(i);} } System.out.println(list);Collections.sort(list,Collections.reverseOrder());System.out.println(list);} ...

如何用java实现一个数组的排列
首先根据数组的类型不同排序方式也是不同的,如果是基本类型数组,那么使用冒泡或者其他排序方式都是很简单的,例如:http:\/\/blog.csdn.net\/yyywyr\/article\/details\/8075433。如果不想自己写排序算法那么使用Arrays.sort()进行排序也是不错的。如果是自定义类型的数组,推荐使用java自带的工具类:Comparable接...

java程序中,输入三个整型变量,让它们从小到大排列输出。
方法很多 下面这种快速选择排序比上面的快一半 public void selectSort(int[] array, String sortType) { \/ 选择排序(sortType排序类型esc顺序desc倒序) 比较次数O(n^2) n^2\/2 交换次数O(n),n \/ if (sortType.equals("esc")) { for (int i = 0; i < array.length - 1; i++) { ...

利用java8stream如何实现leftjoin操作?
在JAVA中,使用Stream流处理数组、Collection等集合类中的元素,可以实现更简洁、优雅的代码编写。例如,从给定句子中返回单词长度大于5的单词列表,并按长度倒序输出,最多返回3个。使用JAVA8及之后版本的Stream流,可以更直观地实现这一需求。Stream相较于传统的foreach方式,其主要优势体现在代码的简洁性...

在java中,遍历是干嘛用的?有什么意义?
你说的比较笼统,遍历的话,可以遍历数组,遍历list,遍历链表,遍历图,树等等,遍历的意义就在于检查集合中的元素并做处理。至于什么顺序,那要根据需求喽。例子,比较简单的是,遍历一个整型数组,找出里面最大的数。

java 中 List<T>如何按照T中的一个字段排序?
可以通过以下工具类进行实现:import java.lang.reflect.Method;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;\/ List按照指定字段排序工具类 param <T> \/ public class ListSortUtil<T> { \/ param targetList 目标排序List param sortField...

用java程序编写以下的题目:1.有一个整数数组,其中存放着序列1,3,5...
用java程序编写以下的题目:1.有一个整数数组,其中存放着序列1,3,5,7,9,11,13,15,17,19。请将该序列倒序存放并输出。 2.编写一个程序,提示用户输入学生数量姓名和他们的成绩,并按照成绩的降序来打印学生的姓名。 3.编写一个程序,求出整数数组中最小元素的下标。如果这样的元素个数大于1,则返回下标最小的...

数据结构—栈(Stack)的原理以及Java实现以及后缀表达式的运算_百度...
Java的JVM就是采用的栈空间结构来进行运行时方法的调用的,方法的入栈和出栈类似于元素的入栈和出栈,只有栈顶的方法才算有效方法。Java的递归的调用,也依赖于栈空间的实现。3.2 栈的顺序存储结构简单实现 我们的JDK中已经有了栈的实现类,那就是Stack类,它的内部就是采用数组实现的。这里提供一个更加简单的实现。

java数组的相关操作
1.在Java 中所有的数组都在一个缺省的属性Length,用于获取数组中元素的个数.2.数组的复制System.arraycopy()3.数组的排序Arrays.sort()4.在已排序的数组中查找某个元素Arays.binarySearch()*\/ import java.util.Arrays; \/\/对数组排序时要导入此包.class ArrayTest { public static void main(...

一个WORKER类 把里面的人年龄〈30的人按从大到小排
import java.util.*;public class Worker implements Comparable{ String name;int age;\/\/覆盖接口比较方法 这样向集合中添加数据就可以自动排序了 public int compareTo(Object arg0) { \/\/ TODO Auto-generated method stub return ((Worker)arg0).age-this.age;\/\/相减可以实现倒序排列 } public ...

相似回答