Java高效打印出0000-9999之间所有的值存到arraylist集合中

必须显示为0000,0001,0002一直到9999... 必须显示为0000,0001,0002一直到9999 展开
 我来答
木有芒果
2015-11-09 · 如果你问我是谁~我会说我叫木有芒果~哈哈
木有芒果
采纳数:112 获赞数:595

向TA提问 私信TA
展开全部

推荐用Java8 的新特性Stream来处理

List<String> lsit = Stream.iterate(0,item->item+1)
                          .limit(10000)
                          .map(item ->
                          {
                              String str = item.toString();
                              while (str.length()<4) str = "0" + str;
                              return str;
                           })
                          .collect(Collectors.toList());

代码简洁,易懂

Stream.iterate:制造一个stream,0,1,2,3,....无穷

limit:截取前10000个(不包括10000)

map:把里面的数字进行转化,转化为String,若不足4位的前面补0

collect:转化为数组

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
这个大神有点牛
2015-11-09 · 超过25用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:37.2万
展开全部
		ArrayList<String> list = new ArrayList<String>();
for (int i = 1; i <= 9999; i++) {
if (String.valueOf(i).length()==1) {
list.add("000"+i);
}else if (String.valueOf(i).length()==2){
list.add("00"+i);
}else if (String.valueOf(i).length()==3){
list.add("0"+i);
}else{
list.add(String.valueOf(i));
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式