collection 订阅
Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。 展开全文
Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。
信息
释义 
Collection 表示一组对象
相    关
接口通常用来传递 collection
中文名
COLLECTION
属    性
层次结构 中的根接口
COLLECTION基本信息
JDK不提供此接口的任何直接实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。包 (bag) 或多集合 (multiset)(可能包含重复元素的无序 collection)应该直接实现此接口。所有通用的 Collection 实现类(通常通过它的一个子接口间接实现 Collection)应该提供两个“标准”构造方法:一个是 void(无参数)构造方法,用于创建空 collection;另一个是带有 Collection 类型单参数的构造方法,用于创建一个具有与其参数相同元素新的 collection。实际上,后者允许用户复制任何 collection,以生成所需实现类型的一个等效 collection。尽管无法强制执行此约定(因为接口不能包含构造方法),但是 Java 平台库中所有通用的 Collection 实现都遵从它。此接口中包含的“破坏性”方法,是指可修改其所操作的 collection 的那些方法,如果此 collection 不支持该操作,则指定这些方法抛出 UnsupportedOperationException。如果是这样,那么在调用对该 collection 无效时,这些方法可能,但并不一定抛出 UnsupportedOperationException。例如,如果要添加的 collection 为空且不可修改,则对该 collection 调用 addAll(Collection) 方法时,可能但并不一定抛出异常。一些 collection 实现对它们可能包含的元素有所限制。例如,某些实现禁止 null 元素,而某些实现则对元素的类型有限制。试图添加不合格的元素将抛出一个未经检查的异常,通常是 NullPointerException 或 ClassCastException。试图查询是否存在不合格的元素可能抛出一个异常,或者只是简单地返回 false;某些实现将表现出前一种行为,而某些实现则表现后一种。较为常见的是,试图对某个不合格的元素执行操作且该操作的完成不会导致将不合格的元素插入 collection 中,将可能抛出一个异常,也可能操作成功,这取决于实现本身。这样的异常在此接口的规范中标记为“可选”。由每个 collection 来确定其自身的同步策略。在没有实现的强烈保证的情况下,调用由另一进程正在更改的 collection 的方法可能会出现不确定行为;这包括直接调用,将 collection 传递给可能执行调用的方法,以及使用现有迭代器检查 collection。Collections Framework 接口中的很多方法是根据 equals 方法定义的。例如,contains(Object o) 方法的规范声明:“当且仅当此 collection 包含至少一个满足 (o==null e==null :o.equals(e)) 的元素 e 时,返回 true。”不 应将此规范理解为它暗指调用具有非空参数 o 的 Collection.contains 方法会导致为任意的 e 元素调用 o.equals(e) 方法。可随意对各种实现执行优化,只要避免调用 equals 即可,例如,通过首先比较两个元素的哈希码。(Object.hashCode() 规范保证哈希码不相等的两个对象不会相等)。较为常见的是,各种 Collections Framework 接口的实现可随意利用底层 Object 方法的指定行为,而不管实现程序认为它是否合适。
收起全文
精华内容
下载资源
问答
  • Mybatis出现Mapped Statements collection already contains value for 错误原因: 1.mapper中存在id重复的值 2.mapper中的parameterType或resultType为空。 例如:<update id="deleteSchool" parameterType=...

    Mybatis出现Mapped Statements collection already contains value for 

    错误原因:

    1.mapper中存在id重复的值

    2.mapper中的parameterType或resultType为空。

    例如:<update id="deleteSchool" parameterType=" "> </update>

    扩展一下评论区小伙伴遇到的问题:

    3. 在使用@Select等注解的情况下,方法名即为mapper的id,重载的方法会报这个错。

    4. mapper复制  忘了改namespace指向的类,所以两个mapper指向同一个mapper,所以报了这个错。

    5.parameterType或者resultType里的com.你的项目.某类 构造方法或getter/setter出错 也会报这个出错

    展开全文
  • MyBatis中的collection两种使用方法

    万次阅读 多人点赞 2019-05-01 18:59:15
    表关系: 问题表 1==>n 问题选项表, 需求: 查询问题时候,联查出来问题... <result column="sort" property="sort" jdbcType="INTEGER" /> <collection property="options" javaType="java.util.ArrayList" ofType=...

    表关系: 问题表 1==>n 问题选项表,
    需求: 查询问题时候,联查出来问题选项

    //问题 实体类
    public class Question {
    	private	String id; //ID
    	private	String content; //问题
    	private	String type; //问题类型 1:单选,2:多选,3:问答
    	private	Integer sort; //排序
    	private List<QuestionOption> options; //问题选项 *** 问题表里不需要有这个属性对应的字段
    	//...
    }
    
    //问题选项 实体类
    public class QuestionOption{
    	private	String id; //ID
    	private	String qid; //问题ID *** 问题选项表里需要有这个属性对应的字段
    	private	String content; //选项
    	private	Integer sort; //排序
    	//...
    }
    

    方式一:

    代码复用性高, 主表分页查询正确
    

    QuestionMapper.xml

    <mapper namespace="com.xxx.modules.xxx.mapper.QuestionMapper">
    
    <resultMap id="BaseResultMap" type="com.xxx.modules.xxx.entity.Question" >
    		<id column="id" 		 property="id"      jdbcType="VARCHAR" />
    		<result column="content" property="content" jdbcType="VARCHAR" />
    		<result column="type"    property="type"    jdbcType="VARCHAR" />
    		<result column="sort"    property="sort"    jdbcType="INTEGER" />
    		<collection property="options" javaType="java.util.ArrayList" ofType="com.xxx.modules.xxx.entity.QuestionOption"
    					select="com.xxx.modules.xxx.mapper.QuestionOptionMapper.selectList" column="{qid=id,sort=sort}" />
    		<!-- qid/sort是定义的变量名, id/sort是主表的字段id/sort,
    		先查出主表的结果, 然后主表记录数是几 就执行几次 collection 的select,
    		javaType和ofType 写不写都行,
    		select的值: 对应xml的namespace + 对应xml中的代码片段的id,
    		column作为select语句的参数传入,如果只传一个参数id可以简写: column="id" -->
    	</resultMap>
    
    	<!-- 查询列表 -->
    	<select id="selectList" resultMap="BaseResultMap">
            SELECT
            	pq.id, pq.content, pq.type, pq.sort
            FROM
            	question AS pq
            <where>  
            </where>
        </select>
    

    QuestionOptionMapper.xml

    <mapper namespace="com.xxx.modules.xxx.mapper.QuestionOptionMapper">
    
     <!-- 查询列表 -->
     <select id="selectList" resultType="QuestionOption">
         SELECT
         	pqo.id, pqo.content, pqo.sort
         FROM
         	question_option AS pqo
         <where>
         	pqo.qid = #{qid} <!-- 变量名 qid 对应上文的 qid -->
         	<!-- 如果上文中 collection只传一个参数column="id",只要类型匹配,在这里随便写个变量名就可以取到值 #{xyz} -->
         </where>
     </select>
    

    方式二:

    只需要执行一次sql查询, 主表分页查询不正确
    

    QuestionMapper.xml

    <mapper namespace="com.xxx.modules.xxx.mapper.QuestionMapper">
    
    <resultMap id="BaseResultMap" type="com.xxx.modules.xxx.entity.Question" >
    		<id column="id" 		 property="id"      jdbcType="VARCHAR" />
    		<result column="content" property="content" jdbcType="VARCHAR" />
    		<result column="type"    property="type"    jdbcType="VARCHAR" />
    		<result column="sort"    property="sort"    jdbcType="INTEGER" />
    		<collection property="options" javaType="java.util.ArrayList" ofType="com.xxx.modules.data.entity.QuestionOption">
    			<id column="oid" property="id" jdbcType="VARCHAR" />
    			<result column="ocontent" property="content" jdbcType="VARCHAR" />
    			<result column="osort" property="sort" jdbcType="INTEGER" />
    		</collection>
    		<!-- 列的别名 oid,ocontent,osort , 起别名是因为主子表都有这几个字段
    			 这里要写 ofType, javaType还是可以不写 -->
    	</resultMap>
    
    	<!-- 查询列表 -->
    	<select id="selectList" resultMap="BaseResultMap">
            SELECT
            	pq.id, pq.content, pq.type, pq.sort
            	,pqo.id AS oid ,pqo.content AS ocontent ,pqo.sort AS osort <!-- 联查子表字段,起别名 -->
            FROM
            	question AS pq
            	LEFT JOIN question_option pqo ON pq.id = pqo.qid <!-- 联查子表 -->
            <where>  
            </where>
        </select>
    

    注意: 主子表要查询出来的字段名重复,要起别名

    参考博客

    展开全文
  • Collection集合

    2017-11-07 23:26:11
    Collection大总结 面试宝典 值得珍藏 map list .....
  • association和collection关联查询用法

    万次阅读 2020-11-09 10:21:22
    一对多 collection <collection property="要查询的实体集合" javaType="java.util.List" ofType="要查询的实体所在包路径" select="要查询的mapper方法" column="关联的实体中的字段=关联的数据库中的字段"/...

    这里只做最简单的用法,其它方法请自行查询;
    一对多 collection

     <collection property="要查询的实体集合" javaType="java.util.List"
                        ofType="要查询的实体所在包路径"
                        select="要查询的mapper方法"
                        column="关联的实体中的字段=关联的数据库中的字段"/>
    举例:
     <collection property="stsManageStudentList" javaType="java.util.List"
                        ofType="com.crm.project.domain.StsManageStudent"
                        select="com.crm.project.mapper.StsManageStudentMapper.selectStsManageStudentList"
                        column="manageId=manage_id"/>
    

    一对一 & 多对一

    <association property="要查询的实体" column="数据库中的关联字段"
                         javaType="要查询的实体所在包路径"
                         select="要查询的mapper方法"/>
    举例
    <association property="stsStudent" column="student_id"
                         javaType="com.crm.project.domain.StsStudent"
                         select="com.crm.project.mapper.StsStudentMapper.selectStsStudentById"/>
    
    展开全文
  • collection接口

    千次阅读 2016-12-21 16:23:11
    Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,...

    Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。

    Collection
    ├List
    │├LinkedList
    │├ ArrayList
    │└Vector
    │ └Stack
    └Set
    Map
    Hashtable
    HashMap
    └WeakHashMap

    首先,我们先看一下Collection集合的基本结构:

           

     

    1、Collection接口

           Collection是最基本集合接口,它定义了一组允许重复的对象。Collection接口派生了两个子接口Set和List,分别定义了两种不同的存储方式,如下:

     

    2、 Set接口

           Set接口继承于Collection接口,它没有提供额外的方法,但实现了Set接口的集合类中的元素是无序且不可重复。

           特征:无序且不可重复。

     

    3、  List接口

            List接口同样也继承于Collection接口,但是与Set接口恰恰相反,List接口的集合类中的元素是对象有序且可重复。

           特征:有序且可重复

           两个重要的实现类:ArrayList和LinkedList

           1.ArrayList特点是有序可重复

           2.LinkedList是一个双向链表结构的。

     

    4、Map接口

           Map也是接口,但没有继承Collection接口。该接口描述了从不重复的键到值的映射。Map接口用于维护键/值对(key/value pairs)。

           特征:它描述了从不重复的键到值的映射。

           两个重要的实现类:HashMap和TreeMap

           1.HashMap,中文叫散列表,基于哈希表实现,特点就是键值对的映射关系。一个key对应一个Value。HashMap中元素的排列顺序是不固定的。更加适合于对元素进行插入、删除和定位。

           2.TreeMap,基于红黑书实现。TreeMap中的元素保持着某种固定的顺序。更加适合于对元素的顺序遍历。


    5、Iterator接口

           Iterator接口,在C#里有例外一种说法IEnumerator,他们都是集合访问器,用于循环访问集合中的对象。
          所有实现了Collection接口的容器类都有iterator方法,用于返回一个实现了Iterator接口的对象。Iterator对象称作迭代器,
    Iterator接口方法能以迭代方式逐个访问集合中各个元素,并可以从Collection中除去适当的元素。

          

    [csharp]  view plain  copy
     print ? 在CODE上查看代码片 派生到我的代码片
    1. <span style="font-size:10px;">Iterator it = collection.iterator(); // 获得一个迭代子    
    2. while(it.hasNext())     
    3. {    
    4. Object obj = it.next(); // 得到下一个元素    
    5. } </span>  

     

    6、Comparable接口

          Comparable可以用于比较的实现,实现了Comparable接口的类可以通过实现comparaTo方法从而确定该类对象的排序方式。


    总结

     

           Collection集合分别派生自Collection和Map接口,Collection有两个常用子接口List和Set,分别表示有序可重复,无序不可重复的集合。而Map存储的是key-value的映射。


            上面的总结看上去很多,很繁琐,其实你只要记得一点:collection是用于处理各种数据结构的,根据各种数据结构的特点理解,一切都会变简单。


          虽然此博客有点糙,也希望能帮助你对集合的理解有一点点作用(尤其是对组织中人)。下面的博文,我会更新一些有关线程的基础知识,请继续关注。

    展开全文
  • get_collection_names mongodb get_collection_names与mongoose.connection 安装 npm install-保存get_collection_names 用法 var get_collection_names = require('get_collection_names'); var host = "127.0.0.1...
  • collection-json 是一个用 Python 编写的小型库,用于处理 Collection+JSON 文档。 安装 安装 collection-json 最简单的方法是运行 $ pip install collection-json 其他安装方式请参考。 例子 解析一个 Collection+...
  • COllection介绍和Collection排序

    千次阅读 2017-07-30 23:22:35
    一、集合:集合主要分为Collection,Map 二、Collection接口 1、List接口:大量连续有序的元素。 ArrayList:基于动态数组的实现。是线程不同步的,如果需要让其线程同步操作,可以使用Collection....
  • Java Collection Framework : Collection 接口

    千次阅读 2016-10-27 18:58:48
    Java 容器类根接口Collection 的详细描述。
  • 添加到 Meteor.Collection.prototype 的实用程序集合 用法 Collection.Utils.isDate(obj) Collection.Utils.isNumeric(name, value) Collection.Utils.isValidDate(obj) Collection.Utils.validateParams(params) ...
  • 集合类型 ================ ... use CollectionType \ Collection \ CollectionSet \ HashSet ; use CollectionType \ TypeValidator \ ObjectTypeValidator ; $ set = new HashSet ( new IntegerTypeValid
  • Java中的Collection集合以及Collection集合实现类实例

    万次阅读 多人点赞 2018-10-28 17:40:48
    文章目录集合Collection:List集合Collection集合和List集合迭代实例 集合 1、 面向对象语言对事物的描述是通过对象体现,如果想要存储多个对象就需要集合。 2、 数组和集合的区别  a) 长度不同   i. 集合长度可...
  • java集合框架Collection

    万次阅读 2020-04-26 22:51:17
    java.util.Collection接口 Collection接口中定义了所有集合都要具备的功能,它也是所有集合的顶级接口。 Collection下面有几种不同集合的分类,常见的两个: 1.java.util.List:List接口表示的是线性表,是有序的且...
  • Java的集合类型都是对java.util包中Collection接口的继承,这里我们主要介绍依赖于collection的一些主分支,一起来看一下Java中的collection集合类型总结
  • Collection接口

    千次阅读 2019-01-22 22:13:28
    Collection接口是List、Set和Queue接口的父接口里定义的方法既可以用于操作Set集合,也可以用于操作List和Queue集合。 JDK不提供此接口的任何直接实现,而是提供更具体的子接口实现(Set接口)。 在java5之前,...
  • Collection转List

    万次阅读 2017-10-19 09:07:55
    Collection对象转换为List对象
  • Collection接口详解

    万次阅读 多人点赞 2018-05-29 17:00:41
    Collection接口 Collection接口Api一览 为什么重写Iterable接口的iterator方法 Collection Api 详解 Collection接口在Java8中的函数扩展 Iterator 接口 Iterator Api详解 ArrayList的自定义迭代器 List 接口 ...
  • Collection集合框架

    千次阅读 2020-11-12 13:16:06
    Collection是所有集合的顶级接口,里面规定了集合操作元素的相关功能方法集合与数组一样,用于存储一组元素,但是集合又多个不同的实现类来实现不同的数据结构 Collection下面有两个常见的值接口 java.util.List:...
  • Forsquare-CollectionPicker Collection Picker 是一个 Android 视图库,它看起来像 Foursquare 口味选择器。 有关更多信息,请参阅。 用法 Gradle compile ' com.anton46:collection-picker:1.0.0 ' Maven ...
  • Collection框架介绍

    千次阅读 2018-05-23 21:17:52
    Collection:List列表,Set集, Map:Hashtable,HashMap,TreeMap Collection 是单列集合List 元素是有序的、可重复有序的 collection,可以对列表中每个元素的插入位置进行精确地控制。可以根据元素的整数...
  • 在Postman Collection Format v1和v2之间执行JSON结构的快速转换。 格式记录在 安装 对于CLI使用: $ npm install -g postman-collection-transformer 作为图书馆: $ npm install --save postman-collection-...
  • Collection-Kotlin Collection聚合了项目搭建的一些基本模块,节约开发者时间,协助项目的快速搭建,RecyclerView+Adapter+Retrofit+RxJava+MVP+DataManager+基本Base,能够满足一个项目的基本实现。 更多交流请加微信...
  • Collection和Collections区别

    万次阅读 多人点赞 2019-08-28 14:18:09
    1.Collection: 是集合类的上层接口。本身是一个Interface,里面包含了一些集合的基本操作。 Collection接口时Set接口和List接口的父接口 2.Collections Collections是一个集合框架的帮助类,里面包含一些对...
  • Collection 和 Collections 有什么区别?

    万次阅读 2019-04-30 23:30:39
    Collection 和 Collections 有什么区别? Collection是JDK中集合层次结构中的最根本的接口。定义了集合类的基本方法。源码中的解释: * The root interface in the <i>collection hierarchy</i>. A...
  • Android Java Collection认识

    千次阅读 2020-02-12 16:34:58
    无意间发现xmpp代码中Collection addresses,本着好奇的❤️,查阅发现 List是Collection接口的子接口。 的List接口的实现类 :ArrayList、LinkedList、Stack、CopyOnWriteArrayList List、Set、Queue、Map都指向...
  • Java之Collection总结

    2011-06-11 21:44:09
    Java之Collection总结 Java之Collection总结 Java之Collection总结
  • mongodb collection相关

    千次阅读 2015-12-25 11:53:35
    mongodb collection相关

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 706,511
精华内容 282,604
关键字:

collection