代码是
for(int i = 0; i < max; i++) {
//do something
}
我编程时多次使用这个确切的代码,总是从0开始并使用i ++区间。实际上只有一个变量(最大)
它可能不会那么短,但考虑到使用了多少代码,这将非常有用。
我知道在python中有一个范围函数可以更快地输入。
答案 0 :(得分:3)
循环收集时,您可以使用增强型循环:
int[] numbers =
{1,2,3,4,5,6,7,8,9,10};
for (int item : numbers) {
System.out.println(item);
}
答案 1 :(得分:2)
如果您使用Java 8,则可以使用IntStream.range(min, max).foreach(i ->{})
答案 2 :(得分:2)
由于有些人要求这样的东西,这里有一些你可以做的事情,虽然这些是否真的更好是有争议的和品味的问题:
void times(int n, Runnable r) {
for (int i = 0; i < n; i++) {
r.run();
}
}
用法:
times(10, () -> System.out.println("Hello, world!"));
或者:
void times(int n, IntConsumer consumer) {
for (int i = 0; i < n; i++) {
consumer.accept(i);
}
}
用法:
times(10, x -> System.out.println(x+1));
或者:
void range(int lo, int hi, IntConsumer consumer) {
for (int i = lo; i < hi; i++) {
consumer.accept(i);
}
}
用法:
range(1, 11, x -> System.out.println(x));
这些只是一些想法。经过精心设计,放置在一个公共库中,并且使用一致,它们可以使常见的惯用代码简洁易读。不小心使用,他们可以将其他简单的代码变成无法控制的混乱。我怀疑任何两个开发人员都会就确切绘制线的位置达成一致。
答案 3 :(得分:0)
在许多情况下,最大值是未知的(来自文件,数据库等的数据)。 对我来说最好的是将所有内容加载到List(ArrayList等)并使用 for-each循环。在我看来,循环收集是短循环语法的最佳方法。
答案 4 :(得分:0)
我想到的快捷方式是: for(int i:val),对我来说效果很好。以下面的代码为例:
for (int i = 0; x < val.length; i++)
System.out.print(val[i] + ", ");
等同于
for (int i : val)
System.out.print(i + ", ");
经过一些研究后,我发现了这一点 link以及 EnhancedFor 的示例。这种写for循环看起来与写for in Linux Bash的方式非常相似。
答案 5 :(得分:0)
您可以将这种方式用于List的
普通模式:
List<String> myList = Arrays.asList(new String[]{"a","b","c","d","e","f"});
for (int i=0;i<myList.size();i++){
System.out.println(myList.get(i));
}
短模式1:
List<String> myList = Arrays.asList(new String[]{"a","b","c","d","e","f"});
myList.forEach((node)->{
System.out.println(node);
});
短模式2:
List<String> myList = Arrays.asList(new String[]{"a","b","c","d","e","f"});
for(String node: myList){
System.out.println(node);
}