在java时你这样做
a % b
Run Code Online (Sandbox Code Playgroud)
如果a是负数,它将返回负结果,而不是像它应该那样回绕到b.解决这个问题的最佳方法是什么?我能想到的唯一方法就是
a < 0 ? b + a : a % b
Run Code Online (Sandbox Code Playgroud) 我正在尝试找出可以检索HashMap中的值的顺序.下面是代码片段.
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
HashMap<Integer, String> hashmap = new HashMap<Integer, String>();
hashmap.put(1, "apple" );
hashmap.put(2, "lemon" );
hashmap.put(3, "orange" );
hashmap.put(4, "banana" );
hashmap.put(5, "litchi" );
hashmap.put(6, "mango" );
hashmap.put(7, "papaya" );
System.out.println(hashmap.size());
for (String key : hashmap.values()) {
System.out.println(key);
}
}
}
Run Code Online (Sandbox Code Playgroud)
7
apple
lemon
orange
banana
litchi
mango
papaya
Run Code Online (Sandbox Code Playgroud)
值按插入顺序打印.一般来说这是真的吗?我期待值以任意顺序打印.这是使用Java 6.
我正在寻找一个实现,它会按键自动对其条目进行排序.我找到了TreeMap实现,这是正确的.但是,在我创建的测试中,我发现默认情况下HashMap,如果键是类型Integer,则条目按其键排序.我可以假设这样HashMap工作(并保持工作)并安全使用它,还是我应该TreeMap用于此目的?