草庐IT

字母表

全部标签

java - 我如何保持哈希集按字母顺序排列?

我有一个大量对象的集合,这些对象由名称/值对定义。我需要快速访问它们的任何值,并能够按名称的字母顺序返回它们。首先我想我可能会使用HashMap来获得快速访问。但它没有给我任何命令。我决定改用LinkedHashSet。它的问题是我需要能够在列表的正确位置插入新对象,但LinkedHashSet不允许这样做。我还需要能够通过索引和名称访问对象。将感谢任何想法。 最佳答案 为什么不试试TreeSet.您的列表不允许重复吗?如果是这样,那么Set应该没问题。当您添加字符串并且此实现比较器时,该集合将自动为您排序如果你有Sets=newT

Java 按数字和字母顺序对具有自定义字段的 ArrayList 进行排序

publicclassProductimplementsSerializable{privateStringid;privateStringname;privatedoubleprice;privateintquantity;publicProduct(Stringid,Stringname,doubleprice,intquantity){this.id=id;this.name=name;this.price=price;this.quantity=quantity;}publicStringgetId(){returnid;}publicvoidsetId(Stringid){t

java - 按字母顺序对复杂对象的数组列表进行排序

我知道Collections.sort(myArrayList)可以在数组列表是字符串时按字母顺序对其进行排序,但是当它们是更复杂的东西时怎么办,例如包含两个或多个变量的数据对象,包括字符串。那么有没有办法对它们进行排序?如果Collections没有办法,那么我可以想象制作一个for循环或标准排序算法来查看每个对象的字符串变量并移动对象在数组中的索引。但我主要想知道我是否忽略了一些关于Collections方法 最佳答案 使用thefunctiontakingassecondparameteraComparator.Il允许您传递

java - 整数中的字母。这些是什么?

这是我在Java中使用的一个类的代码摘录(如下)。显然,代码定义了一个名为EPSILON的静态变量,数据类型为double。我不明白的是“1E-14”部分。那是什么数字?什么意思?最终双EPSILON=1E-14; 最佳答案 在您的情况下,这等同于编写:finaldoubleEPSILON=0.00000000000001;除了你不必数零。这叫做scientificnotation并且在编写非常大或非常小的数字时很有帮助。 关于java-整数中的字母。这些是什么?,我们在StackOve

c# - 为什么.Net 中的大写字母大于小写字母?

在Java中:"A".compareTo("a");return-32//"A"islessthan"a".在.Net中,使用String.CompareTo:"A".CompareTo("a");return1//"A"isgreaterthan"a".在.Net中,使用Char.CompareTo:'A'.CompareTo('a');return-32//"A"islessthan"a".我知道Java使用它在unicode表中的位置来比较字符串字符,但.Net不是。.Net中如何判断哪个大写字母大于小写字母?String.CompareToMethod(String)

java.text.Collat​​or 将 "v"和 "w"视为瑞典语/区域设置的相同字母

以下测试在Java8中正确通过。ComparatorstringComparator=Collator.getInstance(newLocale("sv","SE"));Assert.assertTrue(stringComparator.compare("aaaa","bbbb")这在vbbb之前命令waaa,在wbbb之前命令vaaa。显然它将v和w视为同一个字母。事实上,根据维基百科,瑞典语:By2006,'W'hadgrowninusagebecauseofnewloanwords,so'W'officiallybecamealetter,andthe'V'='W'sorti

java - 正则表达式精确匹配 n 次出现的字母和 m 次出现的数字

我必须匹配一个8个字符的字符串,它可以包含恰好2个字母(1个大写和1个小写)和恰好6个数字,但它们可以任意排列。所以,基本上:K82v6686会通过3w28E020会通过1276eQ900会失败(太长)98Y78k9k会失败(三个字母)A09B2197会失败(两个大写字母)我已经尝试使用正向前瞻来确保字符串包含数字、大写和小写字母,但我无法将它限制在特定的出现次数。我想我可以通过包含字母和数字可能出现的位置的所有可能组合来解决这个问题:(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])([A-Z][a-z][0-9]{6})|([A-Z][0-9][a-z][0-9]{

java - 将字母转换为数字

我想将字母A更改为点1,因此字母Z更改为数字26,然后再次更改为数字27,字母AA、AB更改为28。我该怎么做?我必须使用“开关”吗?我使用java程序。 最佳答案 没有测试这个,但是按照这些思路应该可以工作:publicStringnumberToCharacterRepresentation(intnumber){char[]ls="ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();Stringr="";while(true){r=ls[number%26]+r;if(number相反:publ

java - 在 Java 中替换字符串的首字母?

我正在尝试将字符串的第一个字母转换为小写。value.substring(0,1).toLowerCase()+value.substring(1)这行得通,但是有没有更好的方法来做到这一点?我可以使用替换函数,但Java的替换不接受索引。您必须传递实际的字符/子字符串。可以这样做:value.replaceFirst(value.charAt(0),value.charAt(0).toLowerCase())除了replaceFirst需要2个字符串,所以value.charAt(0)可能需要替换为value.substring(0,1)。有没有标准的方法来替换字符串的首字母?

java - 一种更有效的查找彼此相差一个字母的英语单词的方法

我写了一个小程序,试图找到两个等长英语单词之间的联系。单词A将通过一次改变一个字母转换为单词B,每个新创建的单词都必须是英文单词。例如:WordA=BANGWordB=DUST结果:BANG->BUNG->BUNT->DUNT->DUST我的过程:将英文单词列表(包含109582个单词)加载到Map>_wordMap=newHashMap();中,key就是字长。用户输入了2个词。createGraph创建图表。计算这两个节点之间的最短路径打印出结果。一切正常,但我对第3步花费的时间不满意。参见:Completelyloaded109582words!CreateMaptook:30m