请选择 进入手机版 | 继续访问电脑版

城微方案网

 找回密码
 注册VIP
查看: 55|回复: 0

[JAVA] 155_集合_Collection集合的常用方法详解_03_contains

[复制链接]

657

主题

660

帖子

2710

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2710
发表于 2021-3-25 00:06:56 | 显示全部楼层 |阅读模式
  1. import java.util.ArrayList;
  2. import java.util.Collection;
  3. public class ContainsTest {
  4. public static void main(String[] args) {
  5. //建立集合
  6. Collection C = new ArrayList();
  7. //添加元素
  8. C.add(1);
  9. //判断是否包含
  10. System.out.println(C.contains(1));//true
  11. Integer m = new Integer(50);
  12. C.add(m);
  13. Integer n = new Integer(50);
  14. //
  15. System.out.println(C.contains(n));//true 说明底层已经重写了equals方法
  16. Manager m1 = new Manager(100, "jack");
  17. C.add(m1);
  18. Manager m2 = new Manager(100, "jack");
  19. //如果两个引用的编号和姓名一致,那说明包含,这样把底层的equals方法进行重写
  20. //而contains在底层的时间使用equals方法判断是否重复
  21. System.out.println(C.contains(m2));
  22. //**********************************************contains(Object o)在ArrayList中的实现方法
  23. // public boolean contains(Object o) {
  24. // return indexOf(o) >= 0;
  25. // }
  26. //
  27. // /**
  28. // * Returns the index of the first occurrence of the specified element
  29. // * in this list, or -1 if this list does not contain the element.
  30. // * More formally, returns the lowest index <tt>i</tt> such that
  31. // * <tt>(o==null ? get(i)==null : o.equals(get(i)))</tt>,
  32. // * or -1 if there is no such index.
  33. // */
  34. // public int indexOf(Object o) {
  35. // if (o == null) {
  36. // for (int i = 0; i < size; i++)
  37. // if (elementData[i]==null)
  38. // return i;
  39. // } else {
  40. // for (int i = 0; i < size; i++)
  41. // if (o.equals(elementData[i]))
  42. // return i;
  43. // }
  44. // return -1;
  45. // }
  46. }
  47. }
  48. class Manager{
  49. int number;
  50. String name;
  51. public Manager(int number,String name) {
  52. this.number=number;
  53. this.name=name;
  54. }
  55. public boolean equals(Object o){
  56. if(this==o)
  57. return true;
  58. if (o instanceof Manager){
  59. Manager s =(Manager)o;
  60. if(s.number==this.number && s.name.equals(this.name)){
  61. return true;
  62. }
  63. }
  64. return false;
  65. }
  66. }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册VIP

本版积分规则

QQ|Archiver|手机版|小黑屋|城微方案网 |网站地图

GMT+8, 2021-4-12 19:50 , Processed in 0.055760 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表