我使用以下代码
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<String, String> mapTest = new HashMap<String, String>();
mapTest.put("1", "one");
mapTest.put("2", "two");
mapTest.put("3", "three");
mapTest.put("4", "four");
mapTest.put("5", "five");
mapTest.put("6", "six");
mapTest.put("7", "seven");
mapTest.put("8", "eight");
mapTest.put("9", "nine");
mapTest.put("10", "ten");
for (int i=1;i<100;i++) {
for(String key:mapTest.keySet()) {
System.out.print(key);
}
System.out.println();
for(String value:mapTest.values()) {
System.out.print(value+" ");
}
System.out.println();
}
}
并且输出总是
12345678910
one two three four five six seven eight nine ten
123....10
two one ten...three
例如。
259....1
two five nine.....one
如果您确实需要值和keySet的顺序相同,可以使用TreeMap。
public Collection values():返回此映射中包含的值的集合视图。集合的迭代器按相应键的升序返回值。
public Set keySet()返回此映射中包含的键的集合视图。集合的迭代器按升序返回键。
https://docs.oracle.com/javase/8/docs/api/java/util/treemap.html
是的,它们可能以不同的顺序出现。它甚至在Javadoc中这样说(着重号为后加):
这类不保证地图的顺序;特别是,它并不能保证订单会随着时间的推移保持不变。
您应该使用定义了顺序的map实现。例如,LinkedHashMap
按照您向其添加键的顺序进行迭代;或者树集
,它按照键的自然顺序迭代(尽管您可能不希望这样做,因为“10”
将在“1”
和“2”
之间排序。
对于以下地图: 这是代码。。。 ...保证两次打印相同的序列? 如果没有,在例如< code>java.util.HashMap中是否有任何保证?
我正在寻找一个正则表达式,它可以做到这一点:我的文本: 我想提取的是: 有人有主意吗? 我试过:
他们在两边配置了相同的keystore和truststore文件。我已经打开了它们的keystore和truststore,这是它们的构建方式: keystore entry1-server cert[1]md5:x cert[2]md5:y cert[3]md5:Z TrustStore entry1-root 证书[1]MD5:Z entry2-intermedium 证书[1]MD5:Y 在
它看起来像hamcrest(尽管看起来,还有更多)。为什么我会选择使用(除了看起来类稍微小一点之外),为什么这两个类如此相似?
我已经将JVM的Xmx参数设置为5120,但是当java进程(tomcat)运行时,我看到MaxHeapSize与Xmx值不匹配,它停留在2570,这对我来说很奇怪,对此任何想法都非常感谢!! PS的输出: /usr/bin/java-dnop-djava.util.logging.manager=org.apache.juli.classloaderlogmanager ITGC-djava.e
将上面几个点,就用了很大的篇幅了,现在介绍一些边界匹配符和组的概念。 一般的边界匹配符有以下几个: 语法 描述 ^ 匹配字符串开头(在有多行的情况中匹配每行的开头) $ 匹配字符串的末尾(在有多行的情况中匹配每行的末尾) \A 仅匹配字符串开头 \Z 仅匹配字符串末尾 \b 匹配 \w 和 \W 之间 \B \b 分组,被括号括起来的表达式就是分组。分组表达式 (...) 其实就是把这部分字符作为