精华内容
下载资源
问答
  • 直接上代码: 首先做个比较器 public Comparator compareByName; 然后就是比较的主要方法 compareByName = new Comparator() { public int compare(String arg0, String arg1) { arg1=arg1.... LIST就是已经排序序的了

    直接上代码:

    首先做个比较器

    public Comparator compareByName;

    然后就是比较的主要方法

    compareByName = new Comparator() {

    public int compare(String arg0, String arg1) {

    arg1=arg1.replaceAll("-","");//过滤掉文件里的这个符号

    arg0=arg0.replaceAll("-","");

    arg1 = arg1.replaceAll("一", "11");//这个是让中文数字变成可比较的值

    arg0 = arg0.replaceAll("一", "11"));

    arg0 = arg0.replaceAll("二", "22");

    arg0 = arg0.replaceAll("三", "33");

    arg0 = arg0.replaceAll("四", "44");

    arg0 = arg0.replaceAll("五", "55");

    arg0 = arg0.replaceAll("六", "66");

    arg0 = arg0.replaceAll("七", "77");

    arg0 = arg0.replaceAll("八", "88");

    arg0 = arg0.replaceAll("九", "99");

    arg1 = arg1.replace("一", "11");

    arg1 = arg1.replaceAll("二", "22");

    arg1 = arg1.replaceAll("三", "33");

    arg1 = arg1.replaceAll("四", "44");

    arg1 = arg1.replaceAll("五", "55");

    arg1 = arg1.replaceAll("六", "66");

    arg1 = arg1.replaceAll("七", "77");

    arg1 = arg1.replaceAll("八", "88");

    arg1 = arg1.replaceAll("九", "99");

    if (arg0.compareTo(arg1) > 0) {

    return 1;

    } else if (arg0.compareTo(arg1) < 0) {

    return -1;

    } else {

    return 0;

    }

    }

    public int compare(File arg0, File arg1) {

    //将FILE文件 变成STRING再去比较

    return compare(arg0.getName(), arg1.getName());

    // TODO Auto-generated method stub

    }

    };

    最后 Collections.sort(文件集合LIST, compareByName);

    LIST就是已经排序序的了

    展开全文
  • Java中数字字符串排序

    2021-02-12 20:26:44
    老师布置的一个作业要用到把文件中的各记录按照记录中的一个字段排序,这个字段是数字字符串。本打算把字符串转成数字,再用学过的一些排序算法实现,可一想,如此强大的java,这种小小功能应该不用这么复杂的自己...

    老师布置的一个作业要用到把文件中的各条记录按照记录中的一个字段排序,这个字段是数字字符串。本打算把字符串转成数字,再用学过的一些排序算法实现,可一想,如此强大的java,这种小小功能应该不用这么复杂的自己折腾。仔细读过书后,发现果真有捷径可走。

    我的思路是这样的

    1.把字符串读入ArrayList,每个字符串是一项;

    2.把ArrayList对象传入Collection.sort();

    3.大功告成,ArrayList中的字符串已经排好序了。

    有几点要注意,构造ArrayList对象时,要声明类型,因为ArrayList是基于泛型实现的。如ArrayListlines = new ArrayList()。之所以不用转换成数字可以实现排序,是因为排序是按照ASCII码实现的,数字在ASCII码中就是从小到大排列的。

    还有一点读写文件的知识,读写文件时,使用BufferedInputStream和BufferedOutputStream可以获得比较好的效率。应为这种读文件的方式,自己配有一个缓冲区,可以把磁盘数据缓冲到内存中。另外,读文件的时候使用CharArrayWriter可以很方便的把文件内容转换成字符串,因为文件的read()方法获得int数据(估计是为了保存各种数据方便统一吧),CharArrayWriter的对象可以接受int,利用他的toString()方法,就可以把读入的数据转换成字符串。

    下面我给出我的实现代码,读取的文件名是main函数的参数。

    import java.util.*;

    import java.io.*;

    public class Sort {

    private BufferedInputStream in;

    private BufferedOutputStream out;

    Sort(String inputFile,String outputFile)

    {

    try{

    File srcFile = new File(inputFile);

    File desFile = new File(outputFile);

    in = new BufferedInputStream(new FileInputStream(srcFile));

    out = new BufferedOutputStream(new FileOutputStream(desFile));

    }

    catch(IOException e){

    e.printStackTrace();

    }

    }

    public void sortRecord()

    {

    try{

    ArrayListlines = new ArrayList();//保证ArrayList类型

    CharArrayWriter writer = new CharArrayWriter();

    int c = in.read();

    while(c != -1)

    {

    writer.write(c);

    if((char)c == '\n')

    {

    String line = writer.toString();

    lines.add(line);

    writer.reset();

    }

    c = in.read();

    }

    Collections.sort(lines);

    Iteratoritr = lines.iterator();

    while(itr.hasNext()){

    char[] buf = ((String)itr.next()).toCharArray();

    for(int i=0;i{

    out.write(buf[i]);

    }

    }

    out.flush();//将数据写入文件

    out.close();

    }

    catch(IOException e)

    {

    e.printStackTrace();

    }

    }

    public static void main(String[] args)

    {

    Sort record = new Sort(args[0],args[1]);

    record.sortRecord();

    }

    }

    【责编:Chuan】

    --------------------next---------------------

    展开全文
  • 试试这个比较,从而消除所有非数字字符然后将其余字符作为数字进行比较:Collections.sort(strings, new Comparator() {public int compare(String o1, String o2) {return extractInt(o1) - extractInt(o2);...

    试试这个比较,从而消除所有非数字字符然后将其余字符作为数字进行比较:

    Collections.sort(strings, new Comparator() {

    public int compare(String o1, String o2) {

    return extractInt(o1) - extractInt(o2);

    }

    int extractInt(String s) {

    String num = s.replaceAll("\\D", "");

    // return 0 if no digits found

    return num.isEmpty() ? 0 : Integer.parseInt(num);

    }

    });

    这是一个测试:

    public static void main(String[] args) throws IOException {

    List strings = Arrays.asList("room1", "foo", "room2", "room100", "room10");

    Collections.sort(strings, new Comparator() {

    public int compare(String o1, String o2) {

    return extractInt(o1) - extractInt(o2);

    }

    int extractInt(String s) {

    String num = s.replaceAll("\\D", "");

    // return 0 if no digits found

    return num.isEmpty() ? 0 : Integer.parseInt(num);

    }

    });

    System.out.println(strings);

    }

    输出:

    [foo, room1, room2, room10, room100]

    展开全文
  • 代码如下:package ...import java.util.List;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.DBObject...

    代码如下:

    package com.infomorrow.webroot;

    import java.util.List;

    import com.mongodb.BasicDBObject;

    import com.mongodb.DB;

    import com.mongodb.DBCollection;

    import com.mongodb.DBCursor;

    import com.mongodb.DBObject;

    import com.mongodb.MongoClient;

    public class test_mongodb {

    public static void  main(String args[]) throws Exception {

    MongoClient        mongoClient = new MongoClient( "127.0.0.1" , 27017 );//建立连接

    DB get_db_credit = mongoClient.getDB("credit_2");//数据库名

    DBCollection collection = get_db_credit.getCollection("report");//集合名,对应mysql中的表名

    BasicDBObject filter_dbobject = new BasicDBObject();

    //建立查询条件,如果还有其他条件,类似的写即可

    // 如:version=3,filter_dbobject.put("version", 3),mongod区分String 和 Integer类型,所以要小心"3"!=3

    filter_dbobject.put("user_id", "10065716153075");

    //下面执行查询,设置limit,只要10条数据,排序(类mysql orderby) 再建一个BasicDBObject即可,-1表示倒序

    DBCursor cursor = collection.find(filter_dbobject).limit(10).sort(new BasicDBObject("create_time",-1));

    //把结果集输出成list类型

    List list = cursor.toArray();

    System.out.println(list.size());//list的长度

    System.err.println(cursor.count());//计算结果的数量,类似于(mysql count()函数),不受limit的影响

    //遍历结果集

    while(cursor.hasNext()) {

    System.out.println(cursor.next());

    }

    }

    }

    展开全文
  • import java.util.Scanner;import java.util.Vector;/*** @author Administrator** 1算法是这样的,如果给定N个不同字符,将这N个字符全排列,最终的结果将会是N!种。如:给定* A、B、C三个不同的字符,则结果为:...
  • java list自定义排序

    2021-02-26 09:40:11
    然后要根据storm计算的分数进行排序,分数的类型为String所以就需要用到自定义排序,出于项目机密,自己编写一个.java文件进行记录分享。代码如下:package test.collection.list;import java.util.ArrayList;import...
  • java实现10种排序算法

    万次阅读 多人点赞 2021-05-06 21:59:15
    import java.util.Arrays; //冒泡排序 public class BubbleSort_01 { public static void main(String[] args) { int a[]={3,44,38,5,47,15,36,26,27,2,46,4,19,50,48}; //记录比较次数 int count=0; //i=0...
  • 展开全部我来回32313133353236313431303231363533e58685e5aeb931333335343364答您的问题,java里面有很多排序算法,选择排序,冒泡排序,快速排序,归并排序,希尔排序,堆排序等等。这里选择冒泡排序和你说一下排序...
  • Java对十个进行排序

    千次阅读 2021-03-02 10:08:06
    简单的十个 固定的十个 public class Sorting { public static void main(String[] args) { int arr[]={10,5,7,13,92,22,37,61,1,12}; for (int i=0;i< arr.length;i++){ for (int j=i+1;j< arr....
  • 读取三个整数并按升序对它们进行排序。 输入格式 共一行,包含三个整数。 输出格式 首先,将三个整数按升序顺序输出,每行输出一个整数。 然后,输出一个空行。 紧接着,将三个整数按原输入顺序输出,每行输出一个...
  • elasticsearch排序查询数据restful api以及java代码实现restful api实现如下:{"sort":[{"publishDate":{"order":"desc"}}]}根据发布日期降序排列;Java代码实现:/***排序查询*@throwsException*/@...
  • java写的冒泡排序

    2021-03-17 17:59:23
    1.[文件] 输入m个并为其排序~1KB 下载(26)package ch1;import java.util.Scanner;class test3{public static void main(String [] args){System.out.println("为m个数排序。");System.out.print("请输入m:");...
  • 最近遇到了一个问题,那就是数据直接通过sql计算会很慢,或者是计算不出来,那么计算数据的任务只能交给java后台。计算完数据之后,需要对数据进行排序,分页。如果知道固定的排序规则好办,但是如果不知道规则,...
  • JAVA输入三个从小到大排序

    千次阅读 2021-07-27 19:11:07
    import java.util.*; public class test2 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String[] str = scan.nextLine().split(" ");// 输入时以空格隔开数字 int[] num = ...
  • Java数组排序

    千次阅读 2021-02-26 21:24:19
    当然可以自己编写合适的排序方法,但既然java包里有自带的Arrays.sort排序方法,在 数组元素比较少的时候为何不用?Sorting an Array 1. 数字排序 int[] intArray = new int[] { 4, 1, 3, -23 };Arrays.sort...
  • 怎么用java给数字排大小?

    千次阅读 2021-03-04 07:18:30
    将数字从大到小排序的方法:例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个为数组中的最大。然后再将第二个与后面的逐个比较,以次类推。...
  • java List根据时间排序

    千次阅读 2021-03-06 14:15:51
    java List根据时间排序import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.Date;import ...
  • java中list排序

    2021-02-12 15:28:30
    List排序今天项目中涉及到对list的排序,特记录于此: 在Java Collection Framework中定义的List实现有Vector,ArrayList和LinkedList。这些集合提供了对对象组的索引访问。他们提供了元素的添加与删除支持。然而,...
  • 查询排序 // 构建查询的请求体 SearchSourceBuilder sourceBuilder = new SearchSourceBuilder(); sourceBuilder.query(QueryBuilders.matchAllQuery()); // 排序 sourceBuilder.sort("age", SortOrder.ASC); ...
  • java数组如何排序

    2021-02-12 09:53:22
    java中几种数组排序的方法:1、使用Arrays.sort()排序Arrays.sort()排序方法在java中是最简单且最常用的排序方法。int []arr1= {45,34,59,55};Arrays.sort(arr1);//调用方法排序即可Arrays.sort()的使用主要分为对...
  • 展开全部冒泡排序package test;public class Maopao {public static void main(String[] args) {int[] array={1,2,5,3,10,21,0};getSortD_X(array);getSortX_D(array);}public static void getSortD_X(int[] array){...
  • 我已经索引了一堆文档,每...我希望elasticsearch返回具有匹配项的文档,并根据查询术语与嵌套文档匹配的顺序对 "inner_hits" 进行排序 . 这可能吗?例如,假设我的文档"ferrari"带有标签 red 和 car . 如果我搜索查...
  • java stream流 排序

    2021-03-15 22:27:57
    // 按状态排序排序顺序是PipelineState枚举类的顺序List newPipelineList = pipelineList.stream().sorted(Comparator.comparing(Pipeline::getState)).collect(Collectors.toList());Collections.reverse...
  • Java 冒泡排序

    千次阅读 2021-01-24 11:59:17
    Java 冒泡排序 冒泡排序是最为出名的排序算法之一,总共有八大排序! 直接插入排序 希尔排序 简单选择排序排序 冒泡排序 快速排序 归并排序 基数排序 冒泡排序还是比较简单的,两次循环吗,外层冒泡轮,里...
  • 本文实例讲述了java利用冒泡排序对数组进行排序的方法。分享给大家供大家参考。具体如下:一、冒泡排序:利用冒泡排序对数组进行排序二、基本概念:依次比较相邻的两个,将小数放在前面,大数放在后面。即在第一趟...
  • java中文排序

    2021-02-28 09:09:21
    对中文名称进行排序,不多说,上代码package test;/*** @Title: Person.java* @Copyright: Copyright (c) 2012-11-19* @Author : zhangzhao* @Version 0.1*/public class Person{private int id;priv...
  • java冒泡排序

    千次阅读 2021-03-05 17:57:41
    经典算法——冒泡排序(Bubble Sort)一、示例代码(伸手党看这里)1.示例一importjava.util.Arrays;public classBubbleSort {public static void bubbleSort(int[] arr){int temp; /*临时变量,交换数据时使用*/int ...
  • java排序函数

    2021-03-09 01:36:38
    7. 数组排序 函数:Arrays.sort(); [java] view pl...在 caller 的实例中,将实现了 A 接口的对象的引用传给 caller,后调用 ... JAVA 排序的 ......JAVA 90.00 5 mike c++ 80.00 3 张三丰 Oracle 0.00 4 杨过 Oracl...
  • Java数组排序方法详解

    千次阅读 2021-02-27 11:03:41
    数组,本身是有序的元素序列,本文我们就来看看Java数组排序的几个方法。一、冒泡排序举 个 栗 子:5 2 0 4 1 3 一个容量为七的数组排升序(降序同理,最大值变最小就ok)①从这组中找那个冒泡的(最大的),把它踢到...
  • elasticsearch 查询聚合结果排序

    千次阅读 2021-03-16 16:47:47
    一、查询结果按某个字段进行排序{"size" : 5,"query" : {"bool" : {"filter" : [{"range" : {"startTime" : {"from" : 1517046960000,"to" : 1517048760000}}}]}},"sort" : [{ "startTime" : { "order" : "desc"}}]}...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 826,177
精华内容 330,470
关键字:

java查询条数排序

java 订阅