java中的文件名排序问题

哪位高人啊,是这样子的问题我呢取得了某一目录下的所有文件夹的名称,名称如下d1---一直到d30,但是我取出来的时候为什么是d1,d11,d12...d2,d22...依... 哪位高人啊,是这样子的问题
我呢取得了某一目录下的所有文件夹的名称,名称如下d1---一直到d30,但是我取出来的时候为什么是d1,d11,d12...d2,d22...依此这样,而不是d1,d2,d3,d4.....这样的呢,请哪位高人帮我解决一下啊,我用的是ArrayList,本人在线等啊。。。。。。。。,不好意思,我只有0分,拜托了
展开
 我来答
非情林q
推荐于2018-04-07 · TA获得超过987个赞
知道小有建树答主
回答量:1157
采纳率:100%
帮助的人:974万
展开全部
例如我在C盘a目录里有几个你那样的文件:

程序:
import java.io.File;
import java.util.Arrays;
import java.util.Comparator;

public class Test {
public static void main(String[] args) {
File file = new File("C:\\a");
String[] content = file.list();
Arrays.sort(content, new Comparator() {
public int compare(Object arg0, Object arg1) {

String str1 = (String) arg0;
String str2 = (String) arg1;

if (Integer.parseInt(str1.substring(1)) > Integer.parseInt(str2
.substring(1))) {
return 1;
}

return 0;
}

});

for (int i = 0; i < content.length; i++)
System.out.println(content[i]);
}
}

输出结果:
d1
d2
d3
d11
d22
pingia
2010-05-27 · TA获得超过569个赞
知道小有建树答主
回答量:697
采纳率:100%
帮助的人:769万
展开全部
arraylist是无序的 就是说取出来的时候不一定会按原来放入的顺序给你排好
所以说如果你是以d1----d30的顺序插入的话,要想再以这个顺序取出来的话 不能用arrayList 改用LinkedHashSet这个类进行数据的插入和取出操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bellCliff
2010-05-27 · TA获得超过650个赞
知道小有建树答主
回答量:820
采纳率:0%
帮助的人:615万
展开全部
类Collections支持排序

static
<T extends Comparable<? super T>>
void
sort(List<T> list)
根据元素的自然顺序 对指定列表按升序进行排序。

参见java doc api文档

参考资料: http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/index.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
此用户名已_
2010-05-27 · TA获得超过325个赞
知道答主
回答量:340
采纳率:0%
帮助的人:114万
展开全部
是飒飒啊飒飒飒飒撒
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式