您的位置:

Java遍历对象指南

一、集合类数据结构的遍历方式

1、数组遍历

数组是一种最基本的数据结构,Java中提供了多种方式来遍历数组,例如:

int[] arr = new int[]{1, 2, 3, 4};
for(int i=0; i

   

还可以利用for-each语句来遍历数组:

int[] arr = new int[]{1, 2, 3, 4};
for(int num : arr){
    System.out.println(num);
}

2、List遍历

List是Java提供的一个非常常用的数据结构,可以使用多种方式遍历:

List list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
for(int i=0; i
     

      

或者使用for-each语句遍历:

List list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
for(String str : list){
    System.out.println(str);
}

       

3、Set遍历

Set是Java提供的另一种非常常用的数据结构,使用方式和List类似:

Set set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
for(String str : set){
    System.out.println(str);
}

       

二、Map数据结构的遍历方式

1、Map.Entry遍历方式

Map是Java提供的一个键值对结构的数据结构,遍历方式也有多种,其中一种方式是使用Map.Entry:

Map map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
for(Map.Entry
         entry : map.entrySet()){
    System.out.println(entry.getKey() + " : " + entry.getValue());
}

        
       

2、keySet遍历方式

还可以使用keySet来获取Map的key,然后遍历:

Map map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
for(String key : map.keySet()){
    System.out.println(key + " : " + map.get(key));
}

       

三、递归遍历树形数据结构

1、以二叉树为例

二叉树是树形数据结构中最为常用的一种,递归遍历方式也非常常用,例如:

class TreeNode {
    int value;
    TreeNode left;
    TreeNode right;
    public TreeNode(int value){
        this.value = value;
    }
}
public void preOrder(TreeNode node) {
    if(node != null) {
        System.out.print(node.value + " ");
        preOrder(node.left);
        preOrder(node.right);
    }
}

以上是二叉树的前序遍历方式,在递归中依次输出当前节点的值,并递归左子节点和右子节点。

2、多叉树的遍历方式

对于多叉树,也同样可以使用递归方式对其进行遍历,例如:

class MultiTreeNode {
    int value;
    List children;
    public MultiTreeNode(int value){
        this.value = value;
        children = new ArrayList<>();
    }
}
public void preOrder(MultiTreeNode node) {
    if(node != null) {
        System.out.print(node.value + " ");
        for(MultiTreeNode child : node.children){
            preOrder(child);
        }
    }
}

       

四、StreamAPI的遍历方式

Java 8引入的StreamAPI提供了一种更加便捷的遍历方式,可以对集合类数据结构进行流式操作,例如:

List list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.stream().forEach(System.out::println);

       

以上代码使用stream()方法来获取Stream对象,然后调用forEach()方法来遍历。除此之外,Stream还有其他许多更加强大的操作,例如map()、filter()、reduce()等,可以对集合进行多种处理。