- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码来运行 Joiner 来连接键。但是,它们出现的顺序不正确。
BiMap<String, String> whatever= HashBiMap.create();
{
whatever.put("First group", "f1");
whatever.put("This should really be second", "f2");
whatever.put("3rd group", "f3");
}
String groups = Joiner.on('|').join(whatever.keySet());
System.out.println(groups);
输出:
This should really be second|3rd group|First group
预期输出:
First group|This should really be second|3rd group
我如何让它们按顺序显示,因为考虑到它们将在 boolean 表达式中进行评估很重要?
最佳答案
HashBiMap.keySet
返回一个无序数据结构的集合。因此,您的加入通话可以按任何顺序进行。
正如 Louis 所建议的,当您使用 Guava 库时,您可以使用可用的方法对集合进行排序,使用:Ordering.natural().sortedCopy(Collection collection)
那么最后一行将是:
Collection<String> unsorted = whatever.values();
List<String> sorted = Ordering.natural().sortedCopy(unsorted)
String groups = Joiner.on('|').join(sorted);
System.out.println(groups);
这只会按字母顺序排序(我认为)。
如果不可变性是可以接受的,您可以使用 ImmutableBiMap,它会保留插入顺序。否则,我建议创建一个自己对数据进行排序的方法(通过扩展 BiMap 或静态方法)。
关于java - Joiner 没有正确订购?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21295344/
我有以下代码来运行 Joiner 来连接键。但是,它们出现的顺序不正确。 BiMap whatever= HashBiMap.create(); { whatever.
Google 集合 Joiner 线程安全吗? 最佳答案 是的!我们不会重复 SimpleDateFormat 的错误。 :-) Joiner 需要对其姊妹类 Splitter 进行类似的文档升级,它
这个问题在这里已经有了答案: Is there a way to join strings, each with a specific surrounding string? (3 个答案) 关闭
假设我有这个类(class): public class MyClass { private String propertyOne; private String propertyTw
这个问题已经有答案了: Java - Append quotes to strings in an array and join strings in an array (7 个回答) 已关闭 5 年
我想获取一串以逗号分隔的值,并已排序。如果为此目的使用 TreeSet,然后使用 Joiner.on(',').join(someSortedSet); 我可以对字符串值进行排序吗? 最佳答案 答案是
Guava 包含用于拆分和连接字符串的实用程序,但它需要实例化 Splitter/Joiner 对象才能执行此操作。这些是通常只包含要拆分/连接的字符的小对象。维护对这些对象的引用以便重用它们是个好主
我正在使用 Joiners 类来创建约束。 Joiners 类有 equal()、greaterThan()、lessThanOrEqual() 等方法。我想使用“notEqual()”等方法,因为我
我在这里发现了非常相似的问题,但没有一个与我正在寻找的完全匹配。我发现的两个最接近的线程是(是的,它们是不同的线程): NHibernate many-to-many criteria (1) NHi
您好,我一直在尝试为 jinja2 创建一个扩展,它将使用分隔符连接多个项目,同时跳过评估为空白的项目(模板片段)。 有几个这样的片段,你永远不会事先知道哪些是非空的,哪些是非空的。 听起来像是一项微
我有一个 List我们正在使用 Joiner 来获取该列表的逗号分隔表示,但现在我们需要做一些改进,我们需要将列表中的值大写。现在代码是 - String str = Joiner.on(',').s
这里Joiner的初始化是否不正确?我有以下类,当我尝试使用 joiner 连接示例 paths 数组时,我收到一个 NullPointerException。 public class CPath
java.lang.NullPointerException: null at com.google.common.base.Preconditions.checkNotNull(Precon
我正在尝试使用 knockout 并将用户输入的名字和姓氏连接在一起。它基于以下示例:http://knockoutjs.com/examples/helloWorld.html 我尝试稍微改变一下功
我正在从维基百科获取数据,并将它们提供给 MaryTTS这是一个文本转语音库。 例如,我从 Wikipedia API 获取文本,如下所示:Wikipedia API Summary Searchin
我有 3 个表,Customer、Surfboards 和 CustomerSurfboards。 CustomerSurfboards 是 Joiner 表。 Customer Custo
这个字符串: [NSString stringWithFormat:@"%C%C%C%C", 0x31, 0x34f, 0x32, 0x20dd] 应该显示为 12,两个字符周围都有一个圆圈。 0x3
我有十几个或更多 mp3 音频文件,我需要将它们连接成一个 mp3 文件。这些文件都具有相同的比特率 (320 kbps) 和采样率 (44.1 kHz),但它们都有不同的持续时间。 我研究了 sta
我尝试编译以下代码: import std.algorithm; void main() { string[] x = ["ab", "cd", "ef"]; // 'string' is s
private static Iterable iterable( final Object first, final Object second, final Object[] re
我是一名优秀的程序员,十分优秀!