for循环、list和map处理

for循环

for(表达式1;表达式2;表达式3){
    循环语句
}

或者更直观的表示为这样:

for(变量初始化;循环条件;迭代语句){
    循环语句
}

for循环的执行流程是:

      首先执行表达式1,一般是进行变量初始化操作,然后执行表达式2,即对循环条件进行判断,如果结果为真,则执行循环体;循环体执行完毕后,执行表达式3,改变循环变量的值,再次执行表达式2;结果为真,继续循环;如果结果为假,则终止循环,执行后面的语句。

      无论执行多少次,表达式1仅执行一次。

死循环:

    	for (;;) {  
    		System.out.println("===========");
    	} 


list循环中remove/add元素:

Iterator<String> it = a.iterator();
	while(it.hasNext()){
	String temp = it.next();
	if(删除元素的条件){
		it.remove();
	}
}

map的遍历:

推荐方案1,尤其是数据量大时:

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

    	Map<String, String> map = new HashMap<>();
    	map.put("a", "aa");
    	map.put("b", "bb");
    	map.put("c", "cc");
    	
    	for (Iterator<String> it = map.keySet().iterator(); it.hasNext(); ) {  
    	    String key = it.next();  
    	    System.out.println(key + "==" + map.get(key));
    	} 

数组赋值:

    	Object[] locks = new Object[10];
    	for (int i = 0; i < locks.length; i++) {
    		locks[i] = new Object();
    	}

从一个list对象转换为另一个list对象,取代for循环:
List<Long> rewardTaskIds = Lists.transform(gameActivityVo.getActivityTasks(), new Function<GameActivityTask, Long>() {
    @Override
    public Long apply(GameActivityTask gameActivityTask) {
        return gameActivityTask.getGameRewardTaskId();
    }
});

list对象转map

ImmutableMap<Long, GameRewardTask> gameRewardTaskImmutableMap = Maps.uniqueIndex(gameRewardTasks, new Function<GameRewardTask, Long>() {
    @Nullable
    @Override
    public Long apply(@Nullable GameRewardTask gameRewardTask) {
        return gameRewardTask.getId();
    }
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值