15.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
1、什么是Set?(what)

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

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

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

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

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

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

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

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

15.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?相关推荐

  1. java set如何判断重复_set 怎么用iterator()方法来区分重复与否

    import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class SetTest { // ...

  2. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

    Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 1.什么是Set?(what) Set是Collection容器的一个子接口,它不允许出现 ...

  3. 面试3 -- Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

    1.==和equals()的区别 ==是判断对象的内存地址,s1==s2,s2的引用的对象跟s1是同一个. Object类的equals 也是判断对象的内存地址.底层也是用的==. 有一些类复写了eq ...

  4. 12、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是equals()? 它们有何区别?

    12.Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是equals()? 它们有何区别? Set里的元素是不能重复的,那么用iterator()方法来区分重复与否.Equ ...

  5. 【Java面试题】39 Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?...

    1.什么是Set?(what) Set是Collection容器的一个子接口,它不允许出现重复元素,当然也只允许有一个null对象. 2.如何来区分重复与否呢?(how) " 用 itera ...

  6. Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢

    1.什么是Set?(what) Set是Collection容器的一个子接口,它不允许出现重复元素,当然也只允许有一个null对象. 2.如何来区分重复与否呢?(how) " 用 itera ...

  7. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?

    Set里的元素是不能重复的,元素重复与否是使用equals()方法进行判断的. ==和equal区别也是考烂了的题,这里再重复说一下: ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所 ...

  8. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢 是用==还是equals() 它们有何区别

    Set里的元素是不能重复的,元素重复与否是使用equals()方法进行判断的. equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配 ...

  9. HashSet里的元素是不能重复的,那用什么方法来区分重复与否呢?

    解: 当往集合里添加元素时,调用add(object)方法时,首先会调用object的hashcode()方法判断hashcode是否存在,不存在时,则直接插入元素. 如果已存在则调用object对象 ...

最新文章

  1. 面试时与人事交谈时间_如何与您的技术负责人交谈并解决通讯故障
  2. 4个做管理后才知道的秘密
  3. JavaScript的AMD规范
  4. Pytorch中的variable, tensor与numpy相互转化的方法
  5. tb项目管理实践_项目经理与项目管理整理
  6. Eclipse-习惯设置/快捷键/插件
  7. django ----CBV中加装饰器
  8. 轻量应用服务器安装mysql_阿里云轻量应用服务器Linux-Centos7下MySQL8.0.19的安装
  9. spring boot利用controller来测试写的类
  10. 六年级下计算机课ppt课件ppt课件,小学信息技术浙摄影版六年级上册第1课 走进计算机说课ppt课件...
  11. 一键打开 macOS Mojave 的黑暗模式
  12. 人物-作家-卡耐基:戴尔·卡耐基
  13. android https HttpsURLConnection 忽略证书
  14. BLDC电压和运动方程
  15. C++实现双人中国象棋(一)——算法篇(附完整代码)
  16. mysql varchar(n) n表示字符个数
  17. 快手 sig(sign)签名算法 java版
  18. 华硕电脑进入安全模式的方法
  19. C++wildcard maching通配符匹配的算法实现(附完整源码)
  20. TODO List -20160602

热门文章

  1. 牧牛区块链培训,区块链对社会生产的五大好处
  2. 单片机实验(十三)串口自发自收实现
  3. 阿德莱德大学计算机科学学士排名,2020年阿德莱德大学计算机科学学士就业前景,入学要求介绍...
  4. pygame.USEREVENT创建多个用户事件
  5. 云存储哪家强:AWS、Azure、Google、SoftLayer
  6. [cf] 752 div2 B. XOR Specia-LIS-t
  7. html2txt h2t.c
  8. 常见的两种python编译器的安装
  9. 以想总结就来博客写写
  10. 笔记本电脑dns服务器没有响应怎么办,华硕笔记本重装系统后dns服务器未响应怎么办?...