CoreJava_Collection接口add有一个返回值!

    今天讨论与朋友小知识,我发现很多人不知道collection接口定义add方法返回的值,我们所有的工作很多年Java职工。不熟悉的公共接口,使自己成为在细节上的麻烦。一个小采访这让我想起,当我们刚入行的我,另外一个项目的项目经理问神奇兮兮。jdbc调用sql运行完毕之后,返回什么值?

返回什么值?这个问题确实难到我了,可是联想一下,一般在数据库其中运行到最后一步的时候。尤其是mysql数据库中,运行了一条语句之后,控制面板一般都会输出一个'当前操作影响了X条记录之类',比方,插入了一条数据。后台会输出。当前影响了1条记录。

于是就尝试着猜了一下,'应该是返回对数据库的影响条数吧?'。

于是当时就被稀里糊涂的分配到另外一个相对照较锻炼人的项目上了,当时好像非常少有人可以回答出来。通过这个事情,还是可以说明思维的发散在我们的职业生涯中还是非常实用的。

回过头来说collection这个接口,为什么会返回一个boolean值。对于set而言。有一个特性就是可以排除同样的元素。

这里面有两个比較重要的知识点是一定要搞明确的,第一个是 怎样推断一个对象是相等的?第二个是散列表的原理,详细的问题带着疑问去百度吧。

以下是一个小样例,细节决定成败,与君共勉。

import java.util.Collection;
import java.util.HashSet; public class CollectionInterface {
public static void main(String[] args) {
int[] arrays = new int[]{1,2,3,4,5,6,7,8,9,10,1,2,3,4,5};
Collection<Integer> set = new HashSet<Integer>();
int counter = 0;
for(int temp :arrays){
if(set.add(temp)){
counter++;
}else{
System.out.println("The date "+temp+" has already been existent,discard it.");
}
}
System.out.println("counter=> "+counter);
System.out.println("set.size()=> "+set.size());
}
}
上一篇:阿里云对象存储 OSS 发布全球第一可用性 SLA 背后的技术体系


下一篇:阿里云服务器双十一配置仅需85元年