面试整理 61-70

61、List 和Map的区别

容器内每个为之所存储的元素个数不同。List 是Collection类型,每个位置只有一个元素。Map类型,持有 key-value 对
ps:下面的说法(List是存储单列数据的结合,Map是存储 键和值的双列数据的集合)
List 是有序的,允许重复
Map 是无序的,键是不能重复的,值可以重复

62、List、Set、Map是否继承自 Collection类

List 和Set是的,Map不是

63、List、Map、Set三个接口,存取元素时候的区别

1)List 和Set,每个位置只有一个元素
Map 存放的是键值对
2)List 是有序的,可以重复的,Set是无序的,不可重复的,Map 是无序的,键是不可重复的,值是可以重复的

64、ArrayList 、LinkedList、Vector的存储性能和特性

1)ArrayList 和Vector 都是 用数组的方式存储数据;可以直接根据下标索引元素,插入和删除涉及到移动内存;
所以查找元素较快,删除和插入元素较慢
2)Vector是线程安全的性能比 ArrayList差;
3)LinkedList是 采用双向链表存储,因此插入,删除较快,删除较慢

65、去掉一个Vector中的一个重复的元素

public class MyVector {
    public static void main(String[] args) {
        Vector<Integer> vector=new Vector();
        vector.add(1);
        vector.add(1);
        vector.add(2);
        vector.add(2);


        Vector<Integer> newVector=new Vector();

        for (int i=0;i<vector.size();i++){
            int temp=vector.get(i);
            if (!newVector.contains(temp)){
                newVector.add(temp);
            }
        }


        for (int i=0;i<newVector.size();i++){
            System.out.println("第 "+i+"个元素  "+newVector.get(i));
        }

    }
}

66、Collection 和 Collections的区别

Collection是一个接口
Collections是一个工具类,提供了对集合操作的静态的方法

67、Set是不重复的,用什么方式来判断是否重复

68、集合类有哪些,主要方法

List下面的 ArrayList 和LinkedList ,主要的方法
size(); isEmpty() contains() get() add() remove() iterator()
Set 下面的 HashSet 和 TreeSet()
iterator() size() isEmpty() contains(Object o) add remove

69、两个对象的值相同 (x.equals(y)==true),但是却可以有不同的 hash code,对不对

对,如果这两个对象是存储在HashMap或者是 HashSet 中的,equals相等,hashcode 必须相等;
但是如果不是,hashcode就没关系了(ps:为什么没关系了呢????)此时的hashcode 是可以不等的

例如 ArrayList 存储的对象不用实现 hashcode

70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,你要比较此时的使用父类的比较方法还是子类的比较方法

当前add 是谁的对象,就是调用谁的方法

发布了52 篇原创文章 · 获赞 11 · 访问量 2455

猜你喜欢

转载自blog.csdn.net/weixin_41705396/article/details/103878524
今日推荐