collection

mybatis 嵌套查询子查询column传多个参数描述

十年热恋 提交于 2019-12-11 16:01:30
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> mybatis 嵌套查询子查询column传多个参数如下: 1、图解 2、代码示例 备注:注意,相同颜色的单词都是有关联的。 <resultMap id="blogResult" type="Blog"> <association property="author" column="{ id =author_id, likename =author_name }" javaType="Author" select=" selectAuthor "/> </resultMap> <select id="selectBlog" resultMap="blogResult" parameterType="java.lang.String"> SELECT author_id,author_name FROM BLOG WHERE ID = #{id} </select> <select id=" selectAuthor " resultType="Author" parameterType=" java.util.HashMap "> SELECT * FROM AUTHOR WHERE 1=1 <if test=" id != null and id != '' "> and ID = #{id} </if>

Android 面试题总结 Java基础篇

有些话、适合烂在心里 提交于 2019-12-11 15:18:11
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> #1.public,private,protected,以及不写时的区别? ##public 为公共成员变量和函数成员,在整个类内类外都可使用,在子类变为public ##private 为私有成员变量和函数成员,只在声明的类内可以使用,子类不可用 ##protected 为受保护成员变量和函数成员,类外不可使用。类内可以使用,子类变为private ##不使用关键字 默认为类内使用。 #2.int与Integer的区别 Ingeter是int的包装类,int是基本数据类型初值为0,Ingeter是一个类初值为null。 ##结论 ①无论如何,Integer与new Integer不会相等。不会经历拆箱过程,一个引用指向堆,另一个指向专门存放他的内存(常量池),他们的内存地址不一样,所以为false ②两个都是非new出来的Integer,如果数在-128到127之间,则是true,否则为false java在编译Integer i2 = 128的时候,被翻译成-> Integer i2 = Integer.valueOf(128);而valueOf()函数会对-128到127之间的数进行缓存 ③两个都是new出来的,都为false ④int和integer(无论new否)比,都为true

Java自学-集合框架 Collection

混江龙づ霸主 提交于 2019-12-11 13:09:53
Java集合框架 Collection Collection是一个接口 步骤 1 : Collection Collection是 Set List Queue和 Deque的接口 Queue: 先进先出队列 Deque: 双向链表 注 :Collection和Map之间没有关系,Collection是放一个一个对象的,Map 是放键值对的 注 :Deque 继承 Queue,间接的继承了 Collection 来源: https://www.cnblogs.com/jeddzd/p/12021868.html

JDK8相关:Collection类stream()+filter()+forEach()方法的联合使用

浪子不回头ぞ 提交于 2019-12-09 05:27:26
List<String> strArr = Arrays.asList("1", "2", "3", "4"); strArr.stream().filter(str ->{ return "2".equals(str)?true:false; }).forEach(str ->{ System.out.println(str); }); 以上代码,只会打印 2。 stream方法获取指向当前Collection对象的流对象,filter将对流中元素进行过滤,结合lambda表达式,需要在filter参数中实现一个类似于比较器的Predicate对象,返回一个boolean类型返回值,只有返回为true的Collection中的元素才会进入到forEach的循环中。 List<String> strArr = Arrays.asList("21", "22", "3", "4"); strArr.stream().filter(str ->{ return str.startsWith("2"); }).filter(str ->{ return str.equals("22"); }).forEach(str ->{ System.out.println(str); }); filter可以多重添加,类似于原本forEach对每个元素进行if判断的逻辑。 来源: CSDN 作者:

Java for-each循环解惑

醉酒当歌 提交于 2019-12-07 20:55:38
考虑下面这段遍历一个用户自定义的aggregator或collection类的代码,这段代码将会打印出什么,抛出异常还是编译器错误: package javaForEach; /** * Java Class to show how for-each loop works in Java */ public class ForEachTest { public static void main(String args[]){ CustomCollection<String> myCollection = new CustomCollection<String>(); myCollection.add("Java"); myCollection.add("Scala"); myCollection.add("Groovy"); //What does this code will do, print language, throw exception or compile time error for(String language: myCollection){ System.out.println(language); } } } package javaForEach; import java.util.ArrayList; public class

并发集合

余生长醉 提交于 2019-12-06 02:17:19
Semaphore信号量 资源有限共享时对线程的强占 并发集合 List set map 并发环境下 遍历的过程中不容许更新操作(增删改) ConcurrentCollection 大致分为两类   非阻塞式集合( Non-Blocking Collection ) ConcurrentLinkedDeque   这类集合也包括添加和移除数据的方法。如果方法不能立即被执行,则返回null或抛出异常,但是调用这个方法的线程不会被阻塞。   实例   添加大量的数据到一个列表中;   从同一个列表中移除大量的数据。   阻塞式集合( Blocking Collection ) LinkedBlockingDeque   阻塞式集合(Blocking Collection):这类集合包括添加和移除数据的方法。当集合已满或为空时,被调用的添加或者移除方法就不能立即被执行,那么调用这个方法的线程将被阻塞,一直到该方法可以被成功执行。 分析ConcurrentHashMap HsahMap DataStructure ConcurrentLinkedDeque add ( E e) 将指定元素插入此队列的尾部。 offer ( E e) 将指定元素插入此队列的尾部。 poll () 获取并移除此队列的头,如果此队列为空,则返回 null 。 Node LinkedBlockingDeque

Collection接口

淺唱寂寞╮ 提交于 2019-12-05 23:44:32
1.集合可以理解为一个动态的对象数组,不同的是集合中的对象内容可以任意扩充(也就是说在集合中操作比较方便,容易添加或者删除). 2.集合的特点: (1).性能比较高 (2).容易扩展和修改(这也是不适用数组的主要原因) 3.collection的常用子类 List set Queue 来源: https://www.cnblogs.com/curedfisher/p/11950958.html

java.util.ConcurrentModificationException异常详解

≡放荡痞女 提交于 2019-12-05 13:42:22
一、问题发现 在迭代集合元素时,如果对集合做add/remove操作,会抛出java.util.ConcurrentModificationException异常。 如下代码所示: package com.wbf.list; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ListDemo { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("1"); list.add("2"); list.add("3"); list.add("4"); list.add("5"); list.add("6"); list.add("7"); List<String> del = new ArrayList<String>(); del.add("5"); del.add("6"); del.add("7"); for (Iterator<String> iter = list.iterator(); iter.hasNext();) { String s = iter.next(); if (del.contains(s)

第十章 Scala 容器基础(十六):flatMap一个把flatten和map结合起来的方法

爷,独闯天下 提交于 2019-12-05 06:55:24
Problem 当你第一次来到Scala世界的时候,flatMap放方法看起来是很特别的,所以你需要理解他是如何工作的,还有它是应用在什么地方的。 Solution 在你调用map方法后紧接着调用flatten方法的情况下,你就可以尝试调用flatMap来解决这个问题了。满足如下情况: 使用map方法来从原集合基础上创建一个新的集合 map方法的返回结果是一个嵌套集合,或者元素为Some和None 你在map方法后紧接着调用了flatten方法 如果你的程序正好符合上面的情况,那么你就是可以使用flatMap来代替collection.map.flatten了 下面这个例子中,你会看到如何使用flatMap来处理一个Option。在这个例子中,我们要计算集合中数字类型元素的和。又一个问题:数字都是字符串类型的,并且好多元素并不是数字,也不能转换为Int型。先来看下这个集合: scala> val bag = List("1", "2", "three", "4", "one hundred seventy five") bag: List[String] = List(1, 2, three, 4, one hundred seventy five) 为了解决这个问题,你开始创建一个字符串到整形的转换函数来返回Some[Int]或者None: scala> def toInt(in