草庐IT

sort_link

全部标签

Java 和 .NET : Why different sorting algorithms are used by default?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。只是想知道为什么Java和.NETFramework默认使用不同的排序算法。在Java中Array.Sort()使用MergeSort默认算法为Wikipedia.com说:InJava,theArrays.sort()methodsusemergesortoratunedquicksortdependingonthedatatypesandforimp

Java 流 : distinct() on a pre-sorted stream?

如thisquestion中所述,执行distinct()当运行时知道要对其操作的流进行排序时,它能够使用更有效的算法。如果我们知道流已排序(例如,因为它来自外部预先排序的数据源,例如带有orderby子句的SQL查询)但不是没有这样标记?有一个unordered()删除排序标志的操作,但据我所知,没有办法告诉系统数据已从外部排序。 最佳答案 例如,您可以围绕现有集合创建拆分器:Listlist=Arrays.asList(1,2,3,4);Spliteratorsp=Spliterators.spliterator(list,Sp

java - ArrayList.sort() 与 PriorityQueue

这个问题在这里已经有了答案:Java-PriorityQueuevssortedLinkedList(11个答案)关闭4年前。我需要支持比读取更多的插入并保持数据排序。哪个性能更好:使用提供比较器的PriorityQueue或使用ArrayList并在每次插入后调用.sort()?每次调用.sort()都感觉不对,但我说不清为什么。

java - 使用 .. 父目录说明符 ("dot dot"解析路径名)而不解析符号链接(symbolic link)

给定像/a/./b/c/../d这样的路径,我想删除所有“当前目录”指示符(即句点)和“父目录”指标(即..),给出a/b/d。我可以使用File.getCanonicalPath(),但这也会解析我不想要的符号链接(symboliclink)。有什么简单的方法吗?也就是说,比编写分词器并自行处理更简单。如果您能告诉我“.”的正确名称,可加分和'..'在这种情况下。 最佳答案 Guava也有这个作为Files.simplifyPath(String).不过,您最好的选择(如果您可以使用JDK7)是将您的路径表示为Path并使用Pat

java - Collections.sort 使用什么设计模式?

当以下列方式将比较器应用于列表时,使用的是什么设计模式或这里使用的技术是什么?Collections.sort(myCollection,newComparator(){@Overridepublicintcompare(MyItemitem1,MyItemitem2){returnitem1.getId().compareTo(item2.getId());}}); 最佳答案 长话短说:Collections.sort是简单多态替换的示例,无论您是使用函数式编程还是面向对象编程来进行此替换.术语策略模式不能与多态性或函数式编程互换

java 8 stream.sorted 集合中的比较器

我有一组要排序(使用比较器),但我不知道该选择哪个版本:版本1:publicstaticvoidsort(Setusers){users=users.stream().sorted(sort_gender.thenComparing(sort_age)).collect(Collectors.toCollection(LinkedHashSet::new));}版本2:publicstaticSetsort(Setusers){returnusers.stream().sorted(sort_gender.thenComparing(sort_age)).collect(Collect

Java Collections.sort - 帮助我删除未经检查的警告

Listquestions=newArrayList();questions.addAll(getAllQuestions());//returnsasetofQuestionsCollections.sort(questions,newBeanComparator("questionId"));//org.apache.commons.beanutils.BeanComparator在Java1.5下,除了'newBeanComparator("questionId")'生成一个未经检查的警告之外,上面的代码工作正常。我不喜欢警告。有什么方法可以为BeanComparator提供类型

Java Sorting : sort an array of objects by property, 对象不允许使用 Comparable

我有一个类Library,它包含一个Book对象数组,我需要根据Book的属性(Title或PageNumber)对该数组进行排序。问题是我不允许将Comparable类与Book一起使用。您建议我如何对图书馆中的书籍数组进行排序?写我自己的排序?或者有更简单的方法吗?如果您需要代码片段,尽管询问! 最佳答案 您可以提供一个Comparator来比较您想要的任何类型,Comparable或其他。对于你使用的数组和集合Arrays.sort(array,myComparator);Collections.sort(list,myCom

java - Tomcat 不解析 .war 符号链接(symbolic link)

我有一台开发机器,我之前在上面安装了Tomcat,然后以进行开发工作的同一用户身份运行它。我在$CATALINA_HOME/webapps中放置了一个符号链接(symboliclink)到我构建WAR的目录,每次更新构建时,tomcat都会遵循符号链接(symboliclink)并提取新的WAR。从来没有任何问题。但是为了准备将它转移到生产机器上,我创建了一个具有受限权限的新用户,并将tomcat设置为以该用户身份运行,就像出于安全原因所做的那样。现在tomcat不再遵循符号链接(symboliclink),即使我将WAR文件的用户所有权授予它的用户并将权限设置为777。我没有看到ca

java - 使用 Java 创建符号链接(symbolic link)

我在用Java创建指向目录的符号链接(symboliclink)时遇到问题。我正在使用Files类中的createSymbolicLink()方法:http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html绝对路径:目标:/some/path/target链接:/some/path/xxx/linkname我希望在目录/some/path/xxx/中创建到文件夹/some/path/target的链接,而不是从/some/path/xxx/linkname到/some/path/xxx/target被创建。我只是不