1、什么是Set?(what)

Set是Collection容器的一个子接口,它不允许出现重复元素,当然也只允许有一个null对象。

2、如何来区分重复与否呢?(how)

“ 用 iterator() 方法来区分重复与否 ”,这是在网上流传的答案,个人认为这是个错误的答案。API中写的很明白:“set 不包含满足

e1.equals(e2) 的元素对 e1 和 e2 ”,由此可见回答使用equals()区分更合适。

3、为什么用equals()而不用==来区分?(why)

应该从它俩的区别谈起,==是用来判断两者是否是同一对象(同一事物),而equals是用来判断是否引用同一个对象。再看一下Set里面存的是

对象,还是对象的引用。根据Java的存储机制可知,set里面存放的是对象的引用,所以当两个元素只要满足了equals()时就已经指向同一个对象,

也就出现了重复元素。所以应该用equals()来判断。

最新文章

  1. 有1,2,3一直到n的无序数组,排序
  2. svn add 添加到版本库
  3. backbone调试
  4. 【海岛帝国系列赛】No.2 海岛帝国:“落汤鸡”市的黑帮危机
  5. JQuery & Javascript
  6. 在android客户端加载html源代码总结
  7. Git 1.9.5.msysgit.1
  8. C++ 头文件系列(queue)
  9. AntiXSS的使用
  10. php 命令空间总结
  11. Javascript 对象 - 数组对象
  12. 项目初始化mysql建库和授权
  13. NET缓存框架CacheManager在混合式开发框架中的应用(1)-CacheManager的介绍和使用
  14. ssl证书
  15. 王之泰201771010131《面向对象程序设计(java)》第二周学习总结
  16. Altera 在线资源使用
  17. 2019年京东Java研发岗社招面经(面试经历+真题总结+经验分享)!
  18. Golang vs PHP 之文件服务器
  19. [Node.js] 06 - Multi-thread and process module
  20. flask框架~简易编写

热门文章

  1. Spring中的内部Bean
  2. Redis(二):Redis的九大应用场景
  3. Netty(六):Netty中的连接管理(心跳机制和定时断线重连)
  4. 2015小米暑期实习笔试题_风口的猪-中国牛市(dp)
  5. Photoshop制作Android UI: 怎样将图片背景变为透明
  6. Effective JavaScript Item 46 优先使用数组而不是Object类型来表示有顺序的集合
  7. C#中的 .NET 弱事件模式
  8. angular学习笔记(二十二)-$http.post
  9. cocos2d-x分别在Visual Studio和eclipse中设置启用Box2D
  10. 每日英语:Stressed at Work? Reflect on the Positive