本文目录一览:
java 怎么遍历 文件夹下的 文件
A.不使用递归:
import java.io.File;
import java.util.LinkedList;
public class FileSystem {
public static void main(String[] args) {
long a = System.currentTimeMillis();
LinkedList list = new LinkedList();
File dir = new File("c:\\java\\");
File file[] = dir.listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isDirectory())
list.add(file[i]);
else
System.out.println(file[i].getAbsolutePath());
}
File tmp;
while (!list.isEmpty()) {
tmp = list.removeFirst();
if (tmp.isDirectory()) {
file = tmp.listFiles();
if (file == null)
continue;
for (int i = 0; i < file.length; i++) {
if (file[i].isDirectory())
list.add(file[i]);
else
System.out.println(file[i].getAbsolutePath());
}
} else {
System.out.println(tmp.getAbsolutePath());
}
}
System.out.println(System.currentTimeMillis() - a);
}
}
Java 如何遍历数组里面的数据?
二维数组定义:数据类型[][] 数组名 = new 数据类型[二维数组行数][二维数组列数]
如:int[] array = new int[5][4];
二维数组的遍历:需要使用两个变量来分别遍历行和列,具体遍历方法就很多啦,可以使用while
语句、do-while
语句、for
语句,也可以相互结合使用。
如:
int i = 0, j = 0;
for(int i = 0; i < array.length; i++){
for(int j = 0; j < array[i].length; j++){
System.out.println(array[i][j] + "、");
}
System.out.println("");
}
java中怎么遍历list集合
常用的List集合, 可以使用下面几种方式进行遍历 参考代码:
import java.util.ArrayList;
import java.util.Iterator;
public class Test {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(5);
list.add(8);
list.add(9);
// 方案一 推荐 简洁
for (Integer e : list) {
System.out.print(e + ",");
}
// 方案二
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
// 方案三
Iterator<Integer> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}
java8 遍历数组的几种方式
list集合的遍历3种方法:
package com.sort;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* list的三种遍历
* @author Owner
*/
public class ListTest {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("c"); // 可添加重复数据
// 遍历方法一
for(Iterator<String> iterator = list.iterator(); iterator.hasNext();){
String value = iterator.next();
System.out.println(value);
}
// 遍历方法二
for(String value : list){
System.out.println(value);
}
// 遍历方法三
for(int i = 0; i < list.size(); i++){
System.out.println(list.get(i));
}
}
}
三种遍历的比较分析:
方法一遍历:
执行过程中会进行数据锁定, 性能稍差, 同时,如果你想在循环过程中去掉某个元素,只能调用it.remove
方法。
方法二遍历:
内部调用第一种。
方法三遍历:
内部不锁定, 效率最高, 但是当写多线程时要考虑并发操作的问题。
List接口的两种主要实现类ArrayList
和LinkedList
都可以采用这样的方法遍历。
关于ArrayList与LinkedList的比较分析
a) ArrayList
底层采用数组实现,LinkedList
底层采用双向链表实现。
b) 当执行插入或者删除操作时,采用LinkedList
比较好。
c) 当执行搜索操作时,采用ArrayList
比较好。
java怎么提高遍历map速度
遍历map的方式有多种:
如果只是获取key,或者value,推荐使用keySet
或者values
方式:
for (Integer key : map.keySet()) {
System.out.println(key);
}
for (Integer value : map.values()) {
System.out.println(value);
}
如果同时需要key和value推荐使用entrySet
:
Set<Map.Entry<String, String>> entrySet = map.entrySet();
for (Map.Entry<String, String> entry : entrySet) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
不推荐先获取keySet()
,再使用get(key)
取value的方式。
附:谈谈java中遍历Map的几种方法
JAVA如何遍历数组?
int[] is = new int[]{1,12,4,546};
for(int i=0; i < is.length; i++){
System.out.println(is[i] + "");
}
这就是一个最简单的遍历数组,遍历数组通俗点就是说把数组中的每个数都读一遍(部分有if条件+break的则可能不会完全遍历),你可以对于数组中的每个数进行处理,亦或者是找到数组中那个你需要的数。