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);
}
}


}
}
}

结果://





posted on 2017-04-23 20:03  yjbjingcha  阅读(301)  评论(0编辑  收藏  举报

导航