Java 06 循环

for循环

    // 一般
        for (int i=0; i<orderIdList.size(); i++) {
            params += orderIdList.get(i);
        }
        
    // 遍历list项目
        for (String str: strList) {
            System.out.println(str);
            if ("del".equals(str)) list.remove(str);
        }

while循环

    // 先判断再执行
        int i = 0;
        int sum = 0;
        while (i < 100) {
	        if (i%3 == 0) {  // 能整除3
	            sum += i;
            }
            i++;
        }
        System.out.println("100以内,能被3整除的数之和: " + sum);

    // 先执行再判断,至少会执行一次。
        int i = 0;
        int sum = 0;
        do {
	        if (i%3 == 0 && i%5 == 0) {  // 能整除3
	            sum += i;
            }
            i++;
        } while (i <= 100)
        System.out.println("100以内,既能被3整除,又能被5整除的数之和: " + sum);
        
    // 遍历list项目
        Iterator<String> it = list.iterator();
        while (it.hasNext()) {
            String x = it.next();
	        if(x.equals("del")){
	            it.remove();
            }
        }

遍历List的循环

// 原始List
String jsonStr = "{\"balances\":"
        + "[{\"asset\":\"AAA\",\"free\":\"0.00000000\",\"locked\":\"0.00000000\"},"
        + "{\"asset\":\"BBB\",\"free\":\"0.00000000\",\"locked\":\"0.00000000\"},"
        + "{\"asset\":\"CCC\",\"free\":\"0.00000000\",\"locked\":\"0.00000000\"},"
        + "{\"asset\":\"DDD\",\"free\":\"0.00000000\",\"locked\":\"0.00000000\"},"
        + "{\"asset\":\"EEE\",\"free\":\"0.00000000\",\"locked\":\"0.00000000\"}"
        + "]}";
JSONObject jsonData = JSONObject.parseObject(jsonStr);
JSONArray jsonArr = jsonData.getJSONArray("balances");
List<Balance> balances = jsonArr.toJavaList(Balance.class);
System.out.println("原始的Lise=" + balances.size());
System.out.println(balances.get(0).asset);
System.out.println(balances.get(1).asset);

// 方法1:利用Lambda表达式,在List中查找元素。(Java8以上支持)
List<Balance> result1 = balances.stream()
        .filter(item -> item.asset.equals("EEE"))
        .collect(Collectors.toList());
System.out.println("方法1查找后Lise=" + result1.size());  // 查找后Lise=1
System.out.println(result1.get(0).asset); // EEE

// 方法2:
List<Balance> result2 = new ArrayList<Balance>();
balances.stream().forEach(item -> {
    if (item.asset.equals("EEE")) result2.add(item);
});
System.out.println("方法2查找后Lise=" + result2.size());  // 查找后Lise=1
System.out.println(result2.get(0).asset); // EEE

// 方法3:
List<Balance> result3 = new ArrayList<Balance>();
int size = balances.size();
for (int i = 0; i < size; i++) {
    if (balances.get(i).asset.equals("EEE")) {
        result3.add(balances.get(i));
        break;  // 结束整个循环
        //continue;  // 结束单次循环
    }
}
System.out.println("方法3查找后Lise=" + result3.size());  // 查找后Lise=1
System.out.println(result3.get(0).asset); // EEE

// 方法4:
List<Balance> result4 = new ArrayList<Balance>();
for (Balance item: balances) {
    if (item.asset.equals("EEE")) {
        result4.add(item);
        break;  // 结束整个循环
        //continue;  // 结束单次循环
    }
}
System.out.println("方法4查找后Lise=" + result4.size());  // 查找后Lise=1
System.out.println(result4.get(0).asset); // EEE
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值