浅谈java:List的add方法与addAll方法的区别-1.jpg (31.01 KB, 下载次数: 0)
2020-9-2 09:35 上传
1、add是将传入的参数作为当前List中的一个Item存储,即使你传入一个List也只会另当前的List增加1个元素
2、addAll是传入一个List,将此List中的所有元素加入到当前List中,也就是当前List会增加的元素个数为传入的List的大小
public List getFilePaths(String rootPath){
// todo 实现逻辑
List list = null;
// 创建文件对象
File f2 = new File(rootPath);
if(f2.isDirectory()){
//获取文件夹下所有文件名称(包含文件目录)
String[] fileNames = f2.list();//String[] list() 返回目录中所有文件名字符串
File f = null;
if(fileNames.length>0){
list = new ArrayList();
for(int i=0; i
f = new File(rootPath + "\\" + fileNames);
if(f.isDirectory()){//递归
List tmpList = getFilePaths(rootPath + "\\" +fileNames);
if(tmpList !=null && tmpList.size()>0){
list.addAll(tmpList);//addAll是传入一个List,
//将此List中的所有元素加入到当前List中,也就是当前List会增加的元素个数为传入的List的大小
}
}else{//记录该文件的全路径
list.add(f.getAbsolutePath());//add是将传入的参数作为当前List中的一个Item存储,
//即使你传入一个List也只会另当前的List增加1个元素
}
}
}
}
return list;
}