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);
}
}
}
}
}
结果://
break的使用方法的更多相关文章
- Java笔记4-do while循环,break,修饰符,方法的调用
do while循环语法:do{ //循环体}while(条件表达式); 注:它是先执行循环体,后再判断的循环结构. 如:int i = 0;do{ System.out.println(" ...
- java中 label 配合 break continue 使用方法
转 https://www.jianshu.com/p/7954b61bc6ee java中 label 配合 break continue 使用的其实是比较少的. 这种做法在业务代码中比较少见. 在 ...
- shapely and geos break在distance方法
问题 from shapely.geometry import Point print Point(0,0).distance(Point(1,1)) 报错 python: GeometryCompo ...
- Python中的break和continue的使用方法
一.continue的使用方法(结束当前的循序,进行下一个数的循环) # *************************************************************** ...
- js对象克隆方法
方法1: function clone(obj){ var o; switch(typeof obj){ case 'undefined': break; case 'string' : o = ob ...
- 方法构造和方法重载之奥特曼与大boss之战
知识点的总结: 1.类中的方法分为两类:1.普通方法: 2.构造方法. 2.构造方法的格式: public 类名(数据类型 参数名,...){ } 3.构造方法的用途: 1.实例化对象. 2. ...
- DataTable、List使用groupby进行分组和分组统计;List、DataTable查询筛选方法
DataTable分组统计: .用两层循环计算,前提条件是数据已经按分组的列排好序的. DataTable dt = new DataTable(); dt.Columns.AddRange(new ...
- WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享
WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享 在WinForm程序中,我们有时需要对某容器内的所有控件做批量操作.如批量判断是否允许为空?批量设置为只读.批量设置 ...
- js计算系统当前日期是星期几的几种方法
方法一: // 计算系统当前是星期几 var str = "今天是星期" + "日一二三四五六".charat(new date().getday()); 方法 ...
随机推荐
- .Net中的插件框架Managed Extensibility Framework
Managed Extensibility Framework(MEF)是微软的一个用来扩展.NET应用程序的框架,它最初为了满足Visual Studio里的编辑器的需求,比如说,延迟加载所有东西和 ...
- FolderSync :The various features and how to use them
Help - Tacit Dynamics Help This page describes the various features of FolderSync and how to use the ...
- 求平方根C++
求平方根,正根.曾经都不会.昨天看数学,看到了,写了出来.自己又小优化了一下,非常不错. // squareRoot.cpp -- 2011-08-29-01.04 #include "st ...
- Running multiple instances of Xamarin Studio on a Mac
I love developing software on my MacBook Air! I got the latest version with the maximum possible spe ...
- MyEclipse Web项目调试
1.发布项目 2.启动服务 服务有两种启动方式,Run Server和Debug Server Run Server是运行模式,Debug Server是调试模式 使用Debug Server模式启动 ...
- 【spring cloud】【IDEA】【maven】spring cloud多模块在idea上使用maven插件打包报错:程序包XXX不存在
>>>>spring cloud 多模块 >>>>在idea上使用maven插件打包,欲打包成jar包后 进行部署 >>>> 报 ...
- iOS开发中的 ARC
1. weak属性(弱引用) 被weak修饰的对象叫弱引用,不算对象持有者,一个方法执行完后会导致这个对象自动释放掉,并将对象的指针设置成nil,我使用GCD延时1000ms来验证,1000ms之后, ...
- struts2 select 默认选中
jsp: <s:select list="#{'1':'男','2':'女'}" name="sex"/> action: private Stri ...
- synchronized与lock,哪个效率更高
Java在一开始就提供了synchronized关键字,用于多线程之间的同步.它使用简便,不会出现拿锁之后不归还的情况,可以避免一些编程错误. 而jdk5时提供的concurrent包里,有一个Loc ...
- 你可能不知道的5 个强大的HTML5 API 函数
HTML5提供了一些非常强大的JavaScript和HTML API,来帮助开发者构建精彩的桌面和移动应用程序.本文将介绍5个新型的API,希望对你的开发工作有所帮助. 1. 全屏API(Fulls ...