Java基础之常见遍历方法(一看就懂)

1. 数组

1.1 数组遍历

  • 一看就懂,不解释,直接给代码
@Test
    public void arrayTest1(){
        String[] str = {"aaa","bbb","ccc"};
        //1.常见普通循环
        for (int i = 0; i < str.length; i++) {
            System.out.println("i::"+i+"--->"+str[i]);
        }
        System.out.println();
        //2.增强for循环
        for (String s : str) {
            System.out.println(s);
        }
    }

1.2 附:数组与listz之间的转换

2. List

  • 一看就懂,不解释,直接给代码(可以关注一下Java8新特性)
@Test
    public void ListTest(){
        List<String> list = new ArrayList<>();
        list.add("a001");
        list.add("a002");
        list.add("a003");
        //1.一般遍历
        System.out.println("======1.一般遍历=======");
        for (int i = 0; i < list.size(); i++) {
            System.out.println("i-->"+i+"--->"+list.get(i));
        }
        
        //2.曾强for循环
        System.out.println("======2.曾强for循环=======");
        for (String s : list) {
            System.out.println(s);
        }
        
        //3.1 lambda表达式 遍历
        System.out.println("======3.1 lambda表达式 遍历=======");
        list.forEach((String s)->{
            System.out.println(s);
        });
        
        System.out.println("======3.2 lambda表达式 遍历=======");
        list.forEach(s -> System.out.println(s));
       
        //4.双冒号操作符 遍历
        System.out.println("======4.双冒号操作符 遍历=======");
        list.forEach(System.out::println);
       
        //5.迭代器 Iterator 遍历
        System.out.println("======5.迭代器 Iterator 遍历=======");
        Iterator iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
    }

3. set

  • 无序,不可以重复(所以遍历不能通过索引获取)
  • 一看就懂,直接给代码
    @Test
    public void setTest(){
        Set<String> set = new HashSet<>();
        set.add("麦兜");
        set.add("酥妮");

        //1.曾强for循环
        System.out.println("======1.增强for循环=======");
        for (String s : set) {
            System.out.println(s);
        }

        //2.1 lambda表达式 遍历1
        System.out.println("======2.1 lambda表达式 遍历=======");
        set.forEach(s-> System.out.println(s));

        //2.2 lambda表达式 遍历2
        System.out.println("======2.2 lambda表达式 遍历=======");
        set.forEach((String s)->{
            System.out.println(s);
        });

        //3. 双冒号操作符 遍历
        System.out.println("======3. 双冒号操作符 遍历=======");
        set.forEach(System.out::println);

        //4.迭代器 Iterator 遍历
        System.out.println("======4.迭代器 Iterator 遍历=======");
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
    }

4. Map

  • 不解释,一看就懂
 @Test
    public void mapTest(){
        Map<Integer,String> map = new HashMap<>();
        map.put(1001,"麦兜");
        map.put(1002,"贝塔");
        map.put(1003,"酥妮");

        System.out.println("======1.1 通过 keySet()=======");
        //1.1 通过 keySet()
        Set<Integer> keys = map.keySet();
        for (Integer key : keys) {
            System.out.println("key-->"+key+"----value-->"+map.get(key));
        }

        //1.2 通过 keySet()
        System.out.println("======1.2 通过 keySet()=======");
        Iterator<Integer> iterator = keys.iterator();
        while (iterator.hasNext()){
            Integer key = iterator.next();
            System.out.println("key-->"+key+"----value-->"+map.get(key));
        }

        //2. 通过 values() 获取所有的value值
        System.out.println("======2. 通过 values() 获取所有的value值=======");
        Collection<String> values = map.values();
        for (String value : values) {
            System.out.println(value);
        }

        //3.1 通过 entrySet()
        System.out.println("======3.1 通过 entrySet()=======");
        Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
        Iterator<Map.Entry<Integer, String>> entryIterator = entrySet.iterator();
        while (entryIterator.hasNext()){
            Map.Entry<Integer, String> next = entryIterator.next();
            Integer key = next.getKey();
            String value = next.getValue();
            System.out.println("key-->"+key+"----value-->"+value);
        }

        //3.2 通过 entrySet()
        System.out.println("======3.2 通过 entrySet()=======");
        for (Map.Entry<Integer, String> entry : map.entrySet()) {
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println("key-->"+key+"----value-->"+value);
        }

        //4.1 lambda表达式 遍历1
        System.out.println("======4.1 lambda表达式 遍历1=======");
        map.forEach((k,v)->{
            System.out.println("key-->"+k+"----value-->"+v);
        });

        //4.2 lambda表达式 遍历2
        System.out.println("======4.2 lambda表达式 遍历2=======");
        map.forEach((k,v)-> System.out.println("key-->"+k+"----value-->"+v));

    }

5. JSONObject

  • 不解释,直接给,如下:
    public class Test {
        public static void main(String[] args) {
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("1001", "麦兜");
            jsonObject.put("1002", "酥妮");
            System.out.println(jsonObject);
            System.out.println("==================方式1(所有的value)==================");
            jsonObject.values().stream().forEach(obj->{
                System.out.println(obj);
            });
            System.out.println("==================方式2.1==================");
            Set<String> set = jsonObject.keySet();
            for(String key:set){
                System.out.println(key+"->"+jsonObject.getString(key));
            }
            System.out.println("==================方式2.2==================");
            jsonObject.keySet().forEach(key->{
                System.out.println(key+"->"+jsonObject.getString(key));
            });
    
            System.out.println("==================方式3==================");
            jsonObject.forEach((k,v)->{
                System.out.println(k+"->"+v);
            });
            System.out.println("==================方式4.1==================");
            Set<Map.Entry<String, Object>> entries = jsonObject.entrySet();
            Iterator<Map.Entry<String, Object>> iterator = entries.iterator();
            while (iterator.hasNext()){
                Map.Entry<String, Object> next = iterator.next();
                System.out.println(next.getValue()+"->"+next.getKey());
            }
            System.out.println("==================方式4.2==================");
            jsonObject.entrySet().stream().forEach(entry->{
                System.out.println(entry.getKey()+"->"+entry.getValue());
            });
        }
    }
    
    

6. JsonArray

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@素素~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值