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的使用方法的更多相关文章

  1. Java笔记4-do while循环,break,修饰符,方法的调用

    do while循环语法:do{ //循环体}while(条件表达式); 注:它是先执行循环体,后再判断的循环结构. 如:int i = 0;do{ System.out.println(" ...

  2. java中 label 配合 break continue 使用方法

    转 https://www.jianshu.com/p/7954b61bc6ee java中 label 配合 break continue 使用的其实是比较少的. 这种做法在业务代码中比较少见. 在 ...

  3. shapely and geos break在distance方法

    问题 from shapely.geometry import Point print Point(0,0).distance(Point(1,1)) 报错 python: GeometryCompo ...

  4. Python中的break和continue的使用方法

    一.continue的使用方法(结束当前的循序,进行下一个数的循环) # *************************************************************** ...

  5. js对象克隆方法

    方法1: function clone(obj){ var o; switch(typeof obj){ case 'undefined': break; case 'string' : o = ob ...

  6. 方法构造和方法重载之奥特曼与大boss之战

    知识点的总结: 1.类中的方法分为两类:1.普通方法: 2.构造方法. 2.构造方法的格式:  public 类名(数据类型  参数名,...){ } 3.构造方法的用途:  1.实例化对象.  2. ...

  7. DataTable、List使用groupby进行分组和分组统计;List、DataTable查询筛选方法

    DataTable分组统计: .用两层循环计算,前提条件是数据已经按分组的列排好序的. DataTable dt = new DataTable(); dt.Columns.AddRange(new ...

  8. WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享

    WinForm容器内控件批量效验是否允许为空?设置是否只读?设置是否可用等方法分享 在WinForm程序中,我们有时需要对某容器内的所有控件做批量操作.如批量判断是否允许为空?批量设置为只读.批量设置 ...

  9. js计算系统当前日期是星期几的几种方法

    方法一: // 计算系统当前是星期几 var str = "今天是星期" + "日一二三四五六".charat(new date().getday()); 方法 ...

随机推荐

  1. Android性能优化之渲染

    Google近期在Udacity上发布了Android性能优化的在线课程,目前有三个篇章,分别从渲染,运算与内存,电量三个方面介绍了如何去优化性能,这些课程是Google之前在Youtube上发布的A ...

  2. SSM框架搭建问题

    环境: 1.eclipse  Kepler Service Release 2 2.jdk 1.8 64 3.maven 3.5 4.tomcat 8 问题:

  3. 【原】移动web资源整理(安卓、ios移动端兼容性问题归整)

     meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 <meta name="viewport" content="width=device-wi ...

  4. Http请求之基于HttpUrlConnection,支持Header,Body传值,支持Multipart上传文件:

    Http请求之基于HttpUrlConnection,支持Header,Body传值,支持Multipart上传文件: public static String post(String actionU ...

  5. Android中RelativeLayout和LinearLayout性能分析

    先看一些现象吧:用eclipse或者Android studio,新建一个Activity自动生成的布局文件都是RelativeLayout,或许你会认为这是IDE的默认设置问题,其实不然,这是由 a ...

  6. 《JavaScript启示录》

    <JavaScript启示录> 基本信息 作者: (美)Cody Lindley 译者: 徐涛 出版社:人民邮电出版社 ISBN:9787115334947 上架时间:2014-2-21 ...

  7. jQuery.merge与concat的区别

    示例如下: s1="123"; s2="145"; s3 = $.merge(s1,s2);//s3="123",字符串s1 s2不变,默认 ...

  8. WebService—CXF整合Spring实现接口发布和调用过程

    一.CXF整合Spring实现接口发布 发布过程如下: 1.引入jar包(基于maven管理) <!-- cxf --> <dependency> <groupId> ...

  9. Spring 事务模板

    最近项目开发中需要用到单机事务,因为项目中使用了Spring和Mybatis框架,所以通过Spring来进行事务的管理,并且记录一下事务配置的过程 第一步:配置DataSource <!-- 发 ...

  10. UML解惑:图说UML中的六大关系

    UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.这些类间关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑.这里给出这六种主要UML关系的说明和类图描述, ...