我使用netbean
在java中创建这样的linkedhashmapLinkedHashMap map = new LinkedHashMap();
map.put(0, "one");
map.put(1, "two");
map.put(2, "three");
在上面的代码中键(0,1,2),我希望它自动生成。 我尝试了不同的在线解决方案,但没有工作。
答案 0 :(得分:0)
您可以使用map.size()
:
map.put(map.size(), "one"); // map.size() returns 0
map.put(map.size(), "two"); // map.size() returns 1
map.put(map.size(), "three"); // map.size() returns 2
...
答案 1 :(得分:0)
public class Main {
public static void main(String[] args) {
Map<Integer, String> map = new LinkedHashMap<>();
map.put(KeyGenerator.getNextKey(), "One");
map.put(KeyGenerator.getNextKey(), "Two");
map.put(KeyGenerator.getNextKey(), "Three");
map.forEach((key, value) -> System.out.println("Key = " + key + ", value = " + value));
}
static class KeyGenerator {
private static AtomicInteger key = new AtomicInteger(0);
public static int getNextKey() {
return key.getAndAdd(1);
}
}
}
答案 2 :(得分:0)
public class Test {
static int i = 0;
public static void main(String[] args) {
Map<Integer, String> map = new LinkedHashMap<>();
map.put(getNext(), "One");
map.put(getNext(), "Two");
map.put(getNext(), "Three");
map.forEach((key, value) -> System.out.println("Key = " + key + ", value = " + value));
}
static int getNext() {
i = i+1;
return i;
}
}