作者:手机用户新常态 | 来源:互联网 | 2023-09-10 10:12
文章目录一、集合中的操作符重载二、集合中的-操作符重载三、完整代码示例一、集合中的操作符重载对集合使用运算符,其作用相当于调用plus方法,符号两侧的值就是pl
文章目录
- 一、集合中的 " + " 操作符重载
- 二、集合中的 " - " 操作符重载
- 三、完整代码示例
一、集合中的 " + " 操作符重载
对集合使用 " + " 运算符 , 其作用相当于 调用 plus 方法 , " + " 符号两侧的值就是 plus 方法的 222 个参数值 ; 这两个参数 ,
- 第一个参数是 Collection left , 这是 原集合 , " + " 运算符左侧的元素 ;
- 第二个参数是 T right , 这是集合中 要添加的元素 , " + " 运算符右侧的元素 ;
plus 方法的 返回值是一个新的集合 , 原集合不发生改变 , 新集合中 , 会在原集合的基础上 , 增加了 " + " 操作符后面的元素 ;
集合的 plus 函数原型 :
public static <T> Collection<T> plus(Collection<T> left, T right) {final Collection<T> answer &#61; cloneSimilarCollection(left, left.size() &#43; 1);answer.add(right);return answer;}
代码示例 :
def list2 &#61; list &#43; "4"println listprintln list2
执行结果 :
[1, 2, 3]
[1, 2, 3, 4]
二、集合中的 " - " 操作符重载
对集合使用 " - " 运算符 , 其作用相当于 调用 minus 方法 , " - " 符号两侧的值就是 minus 方法的 222 个参数值 ; 这两个参数 ,
- 第一个参数是 List self , 这是 原集合 , " - " 运算符左侧的元素 ;
- 第二个参数是 Object removeMe , 这是集合中 要删除的元素 , " - " 运算符右侧的元素 ;
minus 方法的 返回值是一个新的集合 , 原集合不发生改变 , 新集合中 , 会在原集合的基础上 , 删除了 " - " 操作符后面的元素 ;
集合的 minus 方法原型 :
public static <T> List<T> minus(List<T> self, Object removeMe) {List<T> ansList &#61; new ArrayList<T>();for (T t : self) {if (!coercedEquals(t, removeMe)) ansList.add(t);}return ansList;}
代码示例 :
list2 &#61; list - "2"println listprintln list2
执行结果 :
[1, 2, 3]
[1, 3]
三、完整代码示例
完整代码示例 :
class Test {static void main(args) {def list &#61; ["1", "2", "3"]def list2 &#61; list &#43; "4"println listprintln list2list2 &#61; list - "2"println listprintln list2}
}
执行结果 :
[1, 2, 3]
[1, 2, 3, 4]
[1, 2, 3]
[1, 3]