• day21每日一考【谷】


    day21每日一考

    题目

    1.集合Collection中存储的如果是自定义类的对象,需要自定义类重写哪个方法?为什么?
    2.ArrayList,LinkedList,Vector三者的相同点与不同点?【面试题】
    3.List接口的常用方法有那些?(增、删、改、查、插、长度、遍历)
    4.如何使用Iterator和增强for循环遍历List。举例说明
    5.Set存储数据的特点是什么?常见的实现类有什么?说明一下彼此的特点。

    答案

    第一题

    如果是List接口,需要重写equals方法,因为List接口时通过equals来判读两个元素是否相等,方法调用都需要考虑equals()方法

    如果是Set接口,需要重写equals方法和hashCode()方法,因为Set接口需要通过hashCode()来获取哈希值,进而判断在数组的位置,后通过equals来判读两个元素是否相等,来保证不重复

    如果是TreeSet类,需要重写toCompare()和hashCode()方法,因为Set方法需要通过hashCode()来获取哈希值,进而判断在数组的位置,

    如果哈希值一样需要判断toCompare()来判断二者是否一样进而是否存储

    comparator()

    第二题

    同:存入的元素有序,可重复,都是先List接口

    ArrayList: List接口的主要实现类,线程不安全、效率高,底层通过Object[]数组存储,正常情况下扩容为1.5倍

    LinkedList:如果进行频繁的插入、删除操作有限使用LinkedList比ArrayList效率高,底层通过双向线链表存储

    Vector:List接口的古老实现类,线程安全、效率低,底层通过Object[]数组存储,正常情况下扩容为2倍

    第三题

    增:add()

    删:remove()

    改:set()

    查:get()

    插:add()

    长度:size()

    遍历:for增强类、for、interator迭代器

    第四题

    public class HomeWork {
        public static void main(String[] args) {
            ArrayList list = new ArrayList();
            list.add(1);
            list.add(11);
            list.add(111);
            list.add(1111);
            list.add(11111);
            list.add(111111);
            Iterator iterator = list.iterator();
            while(iterator.hasNext()){
                System.out.println(iterator.next());
            }
            System.out.println("****************");
            list.forEach(System.out::println);
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    第五题

    Set:不可重复,无序性

    HashSet:无序性,不可重复,Set的主要实现类,

    LinkedHashSet:可以按输入顺序遍历

    TreeSet:可以按照类或类某个属性进行排序,输入元素的类型要一致

  • 相关阅读:
    2022年5大直播趋势
    MySQL 定时计划任务 事件的使用
    非对口专业测试人,婉拒猎头、放弃6份高薪offer,你敢信?
    html制作小猪佩奇卡通图案代码,使用HTML和CSS3绘制基本卡通图案的示例分享
    你在编程过程中养成了哪些好习惯?
    图文详解Linux基础经典教程(07)——CentOS安装Tomcat
    机器学习笔记:逆置换
    电脑开机太慢?这5个方法瞬间提升你的电脑速度
    无人直播系统开发实战(附源码)
    【大数据之Hadoop】三十七、Hadoop HA高可用
  • 原文地址:https://blog.csdn.net/m0_47711130/article/details/126025557