本文介绍了在Java中的整数简短而亲切的序列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有必须生成一个列表,或整数数组一个简短而亲切的方式,用值从开始到结束。

There must be a short and sweet way to generate a List, or array of Integers, with the values from begin to end.

即,为比短,但当量(错误处理以外):

That is, something shorter than, but equivalent (outside of error handling) to:

void List<Integer> makeSequence(int begin, int end) {
  List<Integer> ret = new ArrayList(end-begin+1);
  for (int i=begin; i<=end; i++) {
    ret.add(i);
  }
  return ret;
}

...但它回避我。芭乐或者commons- *的使用是很好。

... but it's evading me. Use of guava or commons-* is fine.

推荐答案

那么,这一个班轮可能有资格(使用的)

Well, this one liner might qualify (uses Guava Ranges)

    ImmutableList<Integer> integerList = ContiguousSet.create(Range.closedOpen(0, 10), DiscreteDomain.integers());
    System.out.println(integerList);

在(番石榴14在什么地方)旧版本,你可以这样做:

In older versions (somewhere before Guava 14) you could use this:

    ImmutableList<Integer> integerList = Ranges.closedOpen(0, 10).asSet(DiscreteDomains.integers()).asList();
    System.out.println(integerList);

都产生:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

这篇关于在Java中的整数简短而亲切的序列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-15 08:27