【二路归并排序java实现】教程文章相关的互联网学习教程文章

java – 在排序文件中使用二进制搜索的超快速自动完成(300000行)

在我的Android应用中,我想要一个带自动完成功能的输入字段.项目数量约为300000.最佳解决方案似乎是将项目放入文件(在SD卡上),每行一个项目,每行将具有相同的字符数,以便我可以寻找特定的行号.如果用户在文本字段中输入内容,我将二进制搜索(通过RandomAccessFile)文件并显示建议. 我希望自动完成能够超快(理想情况下不到100毫秒,但我想这是不可能的),我可以做什么优化? 更新1:我将使用空格将用户输入转换为小写英文字符(a-z).因此...

使用Java排序点列表【代码】

参见英文答案 > Sort ArrayList of custom Objects by property 25个我有一个点对象列表,我想按某个坐标排序,比如x值. Java是否提供了任何有用的机制,还是应该使用常见的排序算法之一?解决方法:是创建自定义Comparator,并使用它来对点列表进行排序class Point{private int x;private int y;public int getX() {return x;}public void setX(int x) {this.x = x;}public int getY() {return y;}...

在Java中对对象列表进行排序的最优雅方法是什么?【代码】

参见英文答案 > Sorting by property in Java 8 stream 1个我有以下java类:public class Customer {private long id;public long getId() {return id;} }我还有一个List< Customer>顾客. Customer.getId()使用lambda表达式对列表进行排序的最优雅方法是什么? 现在我有这个代码:Comparator<Customer> customerComparator = (previousCustomer, nextCustomer) ->Long.compare(previousCustome...

java – Spring Data JPA – JpaRepository中的自定义排序【代码】

我使用Spring Data JPA和Spring Data REST,并为我的Thing实体创建了一个JpaRepository.@Repository public interface ThingRepository extends JpaRepository<Thing, Long> {@RestResource(path = "findByName", rel = "findByName")Page findByName(@Param("name") String name, Pageable page);}我想申请排序.我想根据自定义评级算法对Thing List进行排序.List<Thing> sortByRating(List<Thing> things){// custom logicreturn t...

JAVA实现三种排序算法+二分查找算法

冒泡排序 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 其核心思想是: 对于一组需要排序的数字,依次将个位置上的数字与逐一与其之后的数字进行比较,如果他们的顺序错误就把他们交换过来。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。 package com.wip.sorting; import java.util.Arrays; public class BubbleSort { /** * 冒泡排序 * @param arr ...

如何在java 8中使用reduce对列表进行排序?【代码】

我有对象列表List< BoM>在BoM中我有一个List< BoMLine>,现在我必须使用reduce对BoMine属性中的一个进行BoM列表排序,并在方法中返回一个已排序的List,public static List<BoM> sortBoms() {List<BoM> sortedBomList = new ArrayList<>();BoM bomn = new BoM();sortedBomList.add(bomList.parallelStream().reduce(bomn,(bom1, bom2) -> sortBoM(bom1, bom2)));System.out.println(sortedBomList.size());return sortedBomList; }bom...

java – 冒泡排序2D数组【代码】

我需要构建一个冒泡排序2D数组的代码.这里的技巧是我不能使用一维数组助手,或将项目移动到另一个数组. 排序需要在2D阵列上. 现在我建立了我的功能.但是出了点问题.这是我的输出1 1 2 6 12 3249 44 54 55 100 344是接近完成,我不知道该怎么做.public static int [] [] sortMatrix(int[][]matrix){for(int x = matrix.length ; x >0 ; x-- ){for(int i = matrix[0].length ; i > 0 ; i-...

java – 比较两种选择排序方法【代码】

参见英文答案 > How do I write a correct micro-benchmark in Java? 11个这个问题类似于(link),但不完全是我想要的.这是我在下面写的选择类型,它是用Java编写的.public void sort() {int smallIndex;for(int i = 0; i < arr.length; i++) {smallIndex = i;for (int j = i + 1; j < arr.length; j++) {if (arr[j] < arr[smallIndex]) {smallIndex = j;}}if(i < smallIndex)swap(i, smallIndex)...

java – SWT表过滤器和排序

有没有简单的方法来过滤SWT表中的项目?并对TableItems进行排序? 我没有找到任何内容,并且通过使用内部数据表来存储完整的信息(没有过滤掉的项目),我大大增加了我的程序的复杂性,并且由于必须采取的所有问题而使其效率低得多考虑到保持两个表彼此同步…我打算能够通过文本和数字字段的数学条件进行过滤. 我还想知道是否有任何简单的方法来订购SWT表中的项目,因为我到目前为止订购的方法也使用了一个内部表,这使得代码在很多地方都...

java – 如何在GXT 2.2.5中单击网格标题列时设置默认排序方向【代码】

有没有办法控制首次单击网格标题时使用的默认排序顺序?假设,我有两列,一列是名称,另一列是下载.我想将名称设置为ASC订单,并在第一次点击网格标题时下载为DESC.这意味着当我第一次点击下载列标题时,它应该首先显示最多下载. 是否可以设置列的初始排序顺序?解决方法:我有一个不同的解决方案 我有类似的情况,我希望在第一次点击时将日期列排序DESC,而其他人应该在第一次点击时排序ASC.我编写了自己的GridView,在其中我覆盖了onHeade...

java – 如何有效地将已经排序的列表分成组,可能使用Guava?

我有一个逻辑上包含多组元素的数组,其中每个组在数组中是连续的. (它是通过数据库“order by”子句排序的).将它作为集合的集合(在松散的意义上 – 迭代器的迭代器很好)遍历它将是最干净的,其中顶级迭代器将为每个组返回一个较低级别的迭代器.这可能与Guava的partition()类似,但使用传入的比较器来确定在哪里分解输入. 有很多低效的方法可以做到这一点,比如使用Guava的MultiMap.是否有一种简单的,现成的,有效的方式来利用订购?解决...

java – 如何重新排序已排序的数组,其中一个元素更新【代码】

我有恒定大小的数组(现实生活中大小= 20),允许重复例如:1 2 2 3 3 4 5 6 7 8 9现在只有一个元素更新:1 5 2 3 3 4 5 6 7 8 9我需要求助这个数组.我应该只使用bubblesort吗? 更新我不知道怎么称呼我写的东西.但我认为不可能更快地排序.欢迎评论!// array is already almost sorted and INCREASING, element at pos need to be inserted to the right placeprivate void SortQuotes(List<Quote> quoteList, int pos){var quoteToM...

java – 有效的重新排序 – 在新的JMM下【代码】

我只是想知道下面的重新排序是否有效,在新的JMM模型下是否有效Original Code: instanceVar1 = value ;// normal read operation, no volatilesynchronized(this) {instanceVar2 = value2; //normal read operation, no volatile }instanceVar3 = value3; //normal read operation, no volatile上面的代码可以重新排序到以下执行中.Case 1:synchronized(this) {instanceVar2 = value2; //normal read operation, no volatile ...

LeetCode:26 从排序数组中删除重复项(Java)

题目描述 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1:给定数组 nums = [1,1,2],?函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。?你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并...

java基础-数据结构-排序【代码】

1、时间复杂度 算法的时间复杂度是一个函数,其定量的描述了一个算法运行时间和输入规模之间的关系。通常用O表示,且不包括这个函数的低阶和首项系数。如果一个算法的执行时间为2n2+5n+4,那么该算法时间复杂度就可以表示为O(n2)。 一般的时间复杂度,由好到坏大概有这么几种O(1)、O(logn)、O(n)、O(nlogn)、O(nk)(k>=2),一般情况下,当算法时间复杂度高于O(n2)时,性能就变得相当差,此时就该想办法寻求更优的方案。 O(n^2)的情形 ...