break的用法

 private static void test() {
 for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.println("只是跳出最里面的for循环"+i+"/"+j);
if(j==2)
{
break;//只是跳出最里面的for循环
}
}

}
 System.out.println("end");

}

//结果




 private static void test2() {
 

 a:for (int i = 0; i < 10; i++) {
 for (int j = 0; j < 10; j++) {
 System.out.println("跳到指定代码块"+i+"/"+j);
 if(j==2)
 {
 break a;//跳到指定代码块
 }
 }
 
 }
  System.out.println("end");
  
 
  }

结果://





import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;


public class test {
private static LinkedHashMap<Integer, Integer> linkedHashMap;
private static LinkedHashMap<Integer, Integer> nodeleteKey;
private static int sum;


public static void main(String[] args) {
linkedHashMap = new LinkedHashMap<Integer, Integer>();
nodeleteKey = new LinkedHashMap<Integer, Integer>();
nodeleteKey.put(5, 5);// key为5的不能删除
for (int i = 0; i < 25; i++) {
linkedHashMap.put(i, i * 10);
sum += i;
trimToSize(i);
}
System.out.println(linkedHashMap.toString());

}





/**
* @param i  过滤集合,删除最早插入的,不删除指定不删除的key
*/
private static void trimToSize(int i) {
while (true) {
synchronized ("trimToSize") {
// 符合条件,退出
if (sum < 100) {
break;
}
// 获取链表的第一个元素,也就是最先放进去的元素
Map.Entry<Integer, Integer> toEvict = null;
a: for (Map.Entry<Integer, Integer> entry : linkedHashMap
.entrySet()) {
toEvict = entry;
if (toEvict != null) {
for (Entry<Integer, Integer> iterable_element : nodeleteKey
.entrySet()) {
Integer value002 = iterable_element.getValue();
if (!toEvict.getKey().equals(value002)) {
// 只要不是不能被删除的key就行了,就跳出至a,执行a代码块{}后面的代码
break a;

}
}
}
}


// 不是不能删除的元素
if (toEvict != null) {
Integer key = toEvict.getKey();
Integer value = toEvict.getValue();
linkedHashMap.remove(key);
sum -= i;
System.out.println("remove=" + key);
}
}


}
}
}

结果://





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值