[英]print range of integers in descending or ascending order in java
我有一个上限和一个下限,我想返回所有界限之间的数字,包括界限。 我知道python具有范围功能,但是我确定java是否具有此方法。
您可以只使用for循环。 您要打印还是退回它们? 您的标题和问题对此持不同意见。 如果要返回它们,则需要选择用于包含它们的类型。
List<Integer> ret = new ArrayList<Integer>();
for (int i = lower; i <= upper; i++) {
ret.add(i);
}
return ret;
我将其作为练习打印或按降序排列。
如果您有一个整数数组,则可以在Apache Commons Lang中使用IntRange :
http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/math/IntRange.html
IntRange ir = new IntRange(int lower, int upper);
ir.toString();
您可以在此处使用各种范围的更多信息:
http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/math/class-use/Range.html
编辑:我完全阅读问题。 我看到了有关IntRange实用程序的建议,我只是以为这是我经常听到的经典“我想要一个可迭代”请求。 因此,请忽略以下内容。
简化(无错误检查):
public static List<Integer> range(final int start, final int end) {
return new AbstractList<Integer>() {
public int size() {
return end - start + 1;
}
public Integer get(int i) {
return start + i;
}
};
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.