当前位置:首页 » 编程语言 » 集合排序java

集合排序java

发布时间: 2023-05-12 22:19:44

‘壹’ java集合数字排序

import java.util.Collections;
import java.util.Comparator;
import java.util.Vector;

public class TestClass {
public static void main(String[] args){
Vector<Integer> v=new Vector<Integer>();
v.add(5);
v.add(3);
v.add(2);
v.add(1);
v.add(4);
Comparator<Integer> cm = new MyComparator();
Collections.sort(v,cm );
for(Integer x :v)
System.out.print(x + " ");
}
}

class MyComparator implements Comparator<Integer>{
public int compare(Integer i1, Integer i2) {
if (i1 > i2) return -1;
else if (i1 == i2) return 0;
else return 1;
}
}

‘贰’ JAVA中list集合的排序

根据字符串的含义,进行对象化,比如,Student,有三个属性,序号,姓名,分数
注意重写Student的Compareable接口
然后,List<String>变成List<Student> students=new ArrayList<Student>
然后,遍历list,算出平均分,放入新的SortList<Student>
打印结果

‘叁’ java中,如何实现集合的升序和降序排列

sql语句的时候定义升降序排列,就行了。如果单纯用Java代码实现的话,可以用冒泡排序,代码比较简单:
publicclassBubbleSort
{
publicvoidsort(int[]a)
{
inttemp=0;
for(inti=a.length-1;i>0;--i)
{
for(intj=0;j<i;++j)
{
if(a[j+1]<a[j])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
}

‘肆’ Java中如何对集合排序

java中对集合排序,可以使用Collections.sort来进行排序,可以对中文、字母、数字进行排序,当比较的是对象时候,让该类实现comparable接口,示例如下:

Collections.sort(dataMap,newComparator<Map<String,Object>>()并斗{
//排序接口实现方法
@Override
publicintcompare(Map<String,Object>lhs,Map<String,野拦Object>rhs){
switch(whichsort){
caseSystem_OpenPosition_Sort_Currency:

Stringd2=((String)rhs.get(Instrument));
Stringd1=(String)lhs.get(Instrument);
if(d2!=null&&d1!=null){

intflag=d1.compareTo(d2);
if(flag==0){
Doubled3=((Double)rhs.get(OpenPrice));
Doubled4=(Double)lhs.get(OpenPrice);
if(d3!=null&&d4颂蔽胡!=null){

intflag2=d4.compareTo(d3);
if(flag2==0){
Stringd5=((String)rhs.get(BuySell));
Stringd6=(String)lhs.get(BuySell);//文字排序
if(d5!=null&&d6!=null){

returnd6.compareTo(d5);//返回一个int类型,用来判断是否大于、小于还是等于
}
}

returnd4.compareTo(d3);
}
}else{
returnflag;
}
//returnd1.compareTo(d2);
}

‘伍’ Java的List怎么排序啊

问题在于

doubletemp=0.0;

你把temp设置成double型,然后

temp=arr.get(l).doubleValue();

所以你把取得的int类型转换成了double类型,最后输出就带上了.0


你仔细看看你的程序,int类型有的排序后没有变,有的变x.0了,凡是加上.0的都是它在排序过程中与double类型的数字进行过交换。

‘陆’ 请问Java中如何用compareTo方法对集合进行排序啊

import java.util.*;
class Student implements Comparable
{
public String sName;
public Student()
{

}
public Student(String sName)
{
this.sName=sName;
}
public int compareTo(Object o)/宏喊伍蔽或渗烂/重写compareTo方法
{
Student tempStudent=(Student)o;
String temp=tempStudent.sName;
return this.sName.compareTo(temp); //按字符串sName的顺序排列Student
}
public String toString()
{
return this.sName;
}
}
class fggg {
public static void main(String args[])
{
TreeSet ts=new TreeSet();//插入Student对象时,会自动调用compareTo方法
ts.add(new Student("DD"));
ts.add(new Student("CC"));
ts.add(new Student("BB"));
System.out.println(ts);
}
}

‘柒’ java中如何对数组和集合进行排序

java中对集合排序,可以使用Collections.sort来进行排序,可以对中文、字母、数字进行排序,当比较的是对象时候,让该类实现comparable接口,示例如下:
Collections.sort(dataMap, new Comparator<Map<String, Object>>() { //排序接口实现方法 @Override public int compare(Map<String, Object> lhs, Map<String, Object> rhs) { switch (whichsort) { case System_OpenPosition_Sort_Currency: String d2 = ((String) rhs.get(Instrument)); String d1 = (String) lhs.get(Instrument); if (d2 != null && d1 != null) { int flag = d1.compareTo(d2); if (flag == 0) { Double d3 = ((Double) rhs.get(OpenPrice)); Double d4 = (Double) lhs.get(OpenPrice); if (d3 != null && d4 != null) { int flag2 = d4.compareTo(d3); if (flag2 == 0) { String d5 = ((String) rhs.get(BuySell)); String d6 = (String) lhs.get(BuySell);//文字排序 if (d5 != null && d6 != null) { return d6.compareTo(d5);//返回一个int类型,用来判断是否大于、小于还是等于 } } return d4.compareTo(d3); } } else { return flag; } // return d1.compareTo(d2); }

‘捌’ java怎样对集合按照实体类的字段排序

如果是实体类你可以通过数据库查询排序,这里就不多说了
如果已经得到结果了你可以通过编写一个对象比较器来实现排序
代码参考如下
package com.ljq.entity;

/**
* 运号单流程
*
* @author Administrator
*
*/
public class Step{
/** 处理时间 */
private String acceptTime = "";
/** 快件所在地点 */
private String acceptAddress = "";

public Step() {
super();
}

public Step(String acceptTime, String acceptAddress) {
super();
this.acceptTime = acceptTime;
this.acceptAddress = acceptAddress;
}

public String getAcceptTime() {
return acceptTime;
}

public void setAcceptTime(String acceptTime) {
this.acceptTime = acceptTime;
}

public String getAcceptAddress() {
return acceptAddress;
}

public void setAcceptAddress(String acceptAddress) {
this.acceptAddress = acceptAddress;
}

}

复制代码

二、实现Comparator接口
复制代码

package com.ljq.entity;

import java.util.Comparator;
import java.util.Date;

import com.ljq.util.UtilTool;

/**
* 对Step类进行排序
*
* @author Administrator
*
*/
public class StepComparator implements Comparator<Step>{

/**
* 如果o1小于o2,返回一个负数;如果o1大于o2,返回一个正数;如果他们相等,则返回0;
*/
@Override
public int compare(Step o1, Step o2) {
Date acceptTime1=UtilTool.strToDate(o1.getAcceptTime(), null);
Date acceptTime2=UtilTool.strToDate(o2.getAcceptTime(), null);

//对日期字段进行升序,如果欲降序可采用before方法
if(acceptTime1.after(acceptTime2)) return 1;
return -1;
}

}

复制代码

三、测试
复制代码

package junit;

import java.util.Collection;
import java.util.Collections;
import java.util.List;

import org.junit.Test;

public class StepComparatorTest {

@Test
public void sort() throws Exception{
List<Step> steps=new ArrayList<Step>;
//对集合对象进行排序
StepComparator comparator=new StepComparator();
Collections.sort(steps, comparator);
if(steps!=null&&steps.size()>0){
for(Step step:steps){
System.out.println(step.getAcceptAddress());
System.out.println(step.getAcceptTime());
}
}

}
}

‘玖’ “java set”集合的值可以排序吗

Set集合的排序x0dx0a我们知道,Set集合是无序的,x0dx0a可以使用TreeSet类,那么TreeSet进行排序的规则是怎样的呢?x0dx0a1 TreeSet支持两种排序方式,自然排序和定制排序,在默认情况下,TreeSet采用自然排序.x0dx0a自然排序:x0dx0aTreeSet会调用集合元素的compareTo(Object obj)方法来比较元素之间的大小关信滚系,然后将集合的元素按升序排列,这种方式就是自然排序.x0dx0a为什么集合元素有compareTo方法,因为集合元素对象实现了Comparable接口,该方法返回一个整数值,当一个对象调用该方法与另一个对象进行比较,例如:x0dx0aobj1.compareTo(obj2)如果返回0,表示这两个对象相等,如果该方法返回一个正整数,表示obj1大于obj2如果该方法返回一个负整数,表示obj1小于obj2x0dx0a所以需要使用TreeSet集合进行自然排序,元素必须实现Comparable接口,但是Java一没冲些常用的类已经实现了该接口,例如枯坦歼:String Character Boolean Date Timex0dx0aBigDecimal BigInteger等x0dx0a如:x0dx0aTreeSet ts = new TreeSet(); x0dx0ats.add("b"); x0dx0ats.add("c"); x0dx0ats.add("a"); x0dx0aSystem.out.println(ts);x0dx0a结果:a b c

‘拾’ Java中如何对集合排序

Java内建的排序(冒泡):Java集合有两个实现的工具类,Collections和Arrays。Collections针对集合类型。Arrays针对数组。只需要一个为你排序需判丛要的定制的Comparator或Comparable的实现,将其作为参数传给Collections或Arrays的sort方法就行。
可以自己用毕冲野程序去实现这个排序。用for从原List里面一个一个手喊拿出来比较然后一个新建的List里面去。
楼主看一下参考资料。

热点内容
路由器密码忘了怎么改 发布:2025-07-18 10:32:13 浏览:447
android管家 发布:2025-07-18 10:25:02 浏览:69
网站访问地区 发布:2025-07-18 10:24:55 浏览:259
缓存传文件 发布:2025-07-18 10:18:33 浏览:154
生信差异分析的脚本 发布:2025-07-18 10:14:50 浏览:597
微信打开网页继续访问 发布:2025-07-18 10:09:50 浏览:49
蔬菜解压游戏大全 发布:2025-07-18 10:00:12 浏览:71
linuxand 发布:2025-07-18 09:48:27 浏览:725
为什么安卓的app下载不了 发布:2025-07-18 09:47:45 浏览:178
如何用服务器搭建网络 发布:2025-07-18 09:36:05 浏览:451