<collection的使用方式
时间: 2024-05-07 13:23:20 浏览: 97
在 Java 中,Collection 是一个接口,表示一组对象的集合,它提供了对集合进行操作的方法。它的实现类有很多种,如 ArrayList、LinkedList、HashSet、TreeSet 等。需要根据实际情况选择不同的实现类来使用。
下面以 ArrayList 为例介绍 Collection 的使用方式:
1. 创建一个 ArrayList 对象
```
List<String> list = new ArrayList<String>();
```
2. 添加元素
```
list.add("Java");
list.add("Python");
list.add("C++");
```
3. 访问元素
```
String str = list.get(0); // Java
```
4. 删除元素
```
list.remove(0); // 删除第一个元素
```
5. 遍历列表
```
for (String str : list) {
System.out.println(str);
}
```
以上就是使用 Collection 的基本方式,还有很多其他的方法可以查看文档学习。
相关问题
mybatis里面<collection>里再套一个<collection>
在 MyBatis 中,可以使用 `<collection>` 标签来处理嵌套的集合关系。如果你想在 `<collection>` 标签中再嵌套一个 `<collection>`,你可以按照以下方式进行配置:
```xml
<collection property="propertyName" ofType="elementType">
<!-- 嵌套的集合 -->
<collection property="nestedPropertyName" ofType="nestedElementType">
<!-- 嵌套集合的元素类型 -->
<!-- 其他配置 -->
</collection>
</collection>
```
在上述配置中,`property` 属性指定了当前集合属性在实体类中的名称,`ofType` 属性指定了当前集合元素的类型。你可以在第一个 `<collection>` 标签中嵌套另一个 `<collection>` 标签,并在内部的 `<collection>` 中配置嵌套集合的相关属性。
请注意,这种嵌套集合的配置方式仅适用于 MyBatis 3.5.0 及以上版本。在之前的版本中,可能需要使用一些额外的配置或者自定义映射器来处理嵌套集合关系。
<collection>标签用于什么查询
`<collection>`标签用于处理一对多或多对多的关联查询,它通常嵌套在`<resultMap>`标签中,用于映射关联对象的集合属性。
在一对多或多对多的关联查询中,查询结果通常是一个父对象和多个子对象的集合。例如,查询订单信息时,一个订单对应多个订单项;查询部门信息时,一个部门对应多个员工。在这种情况下,可以使用`<collection>`标签来映射子对象的集合属性。
`<collection>`标签有两种使用方式:
1. 内嵌查询:在`<collection>`标签中嵌套一个`<select>`标签,用于查询子对象的集合数据。例如:
```xml
<resultMap id="orderResultMap" type="Order">
<id property="id" column="order_id"/>
<result property="orderNo" column="order_no"/>
<collection property="orderItems" ofType="OrderItem">
<id property="id" column="item_id"/>
<result property="itemName" column="item_name"/>
<result property="itemPrice" column="item_price"/>
<select id="findOrderItemsByOrderId" parameterType="Long" resultType="OrderItem">
select * from order_item where order_id=#{orderId}
</select>
</collection>
</resultMap>
```
2. 外键关联:在`<collection>`标签中配置关联字段和主表字段,用于关联查询子对象的集合数据。例如:
```xml
<resultMap id="departmentResultMap" type="Department">
<id property="id" column="dept_id"/>
<result property="deptName" column="dept_name"/>
<collection property="employees" ofType="Employee" column="dept_id" select="findEmployeesByDeptId"/>
</resultMap>
```
在这个例子中,`<collection>`标签中的`column`属性指定了关联字段,即部门表中的`dept_id`字段,`select`属性指定了查询语句的id,即`findEmployeesByDeptId`,用于查询关联的子对象集合。在这里,`findEmployeesByDeptId`是一个独立的查询语句,用于查询指定部门下的所有员工。
阅读全文