HelloCoder HelloCoder
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
  • 《LearnJavaToFindAJob》

    • 导读

    • 【初级】6~12k档

      • Java基础

      • JVM

      • 牛客网题库

        • 前言
        • Java基础面试题库(一)
        • Java基础面试题库(二)
        • Java基础面试题库(三)
        • Java基础面试题库(四)
        • Java基础面试题库(五)
        • Java基础面试题库(六)
        • JVM面试题库(一)
        • Java线程类面试题库(一)
        • Java集合类面试题库(一)
      • MySQL

      • Linux

      • 计算机网络

      • 操作系统

      • Java框架

    • 【中级】12k-26k档

    • 【高级】26k+档

    • 大厂面试题

    • 求职建议

    • 面经

  • LearnJavaToFindAJob
  • 【初级】6~12k档
  • 牛客网题库
#Java
码农阿雨
2022-06-02
目录

Java集合类面试题库(一)

# 1、下面哪个Set类是排序的?

A LinkedHashSet

B TreeSet

C HashSet

D AbstractSet

B

注意,不是有序是排序。

TreeSet 使用二叉树的原理对新 add()的对象按照指定的顺序排序(升序、降序),每增加一个对象都会进行排序,将对象插入的二叉树指定的位置。

# 2、Java 中的集合类包括 ArrayList 、 LinkedList 、 HashMap 等,下列关于集合类描述正确的是?()

A ArrayList和LinkedList均实现了List接口

B ArrayList访问速度比LinkedList快

C 随机添加和删除元素时,ArrayList的表现更加快速

D HashMap实现Map接口,它允许任何类型的键和值对象,并允许将NULL用作键或值

A B D

# 3、ArrayList和LinkList的描述,下面说法错误的是?

A LinkedeList和ArrayList都实现了List接口

B ArrayList是可改变大小的数组,而LinkedList是双向链接串列

C LinkedList不支持高效的随机元素访问

D 在LinkedList的中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动;而在ArrayList的中间插入或删除一个元素的开销是固定的

D

D这个说法说反了。

# 4、如果一个list初始化为{5,3,1},执行以下代码后,其结果为()?
nums.add(6);
nums.add(0,4);
nums.remove(1);

A [5, 3, 1, 6]

B [4, 3, 1, 6]

C [4, 3, 6]

D [5, 3, 6]

B

list{5,3,1}

nums.add(6); //往后边加一个6,{5,3,1,6}

nums.add(0,4);//往下标为0的数加一个4,其他元素后移 {4,5,3,1,6}

nums.remove(1); // 移除下标为1 的元素,{4,3,1,6}

# 5、List、Set、Map是否继承自Collection接口?

List、Set 是,Map 不是。

List、Set 是add操作,Map是put的k-v操作。

# 6、关于java集合下列说法不正确的有哪些()

A HashSet 它是线程安全的,不允许存储相同的对象

B ConcurrentHashMap 它是线程安全的,其中存储的键对象可以重复,值对象不能重复

C Collection接口是List接口和Set接口的父接口,通常情况下不被直接使用

D ArrayList线程安全的,允许存放重复对象

A B D

线程安全(Thread-safe)的集合对象:

Vector 线程安全

HashTable 线程安全

StringBuffer 线程安全

非线程安全的集合对象:

ArrayList

LinkedList

HashMap

HashSet

TreeMap

TreeSet

StringBulider

HashSet和ArrayList一样线程不安全,ConcurrentHashMap、HashMap 键不能重复,值可以重复

# 7、 下面哪些具体实现类可以用于存储键,值对,并且方法调用提供了基本的多线程安全支持:()

A java.util.ConcurrentHashMap

B java.util.Map

C java.util.TreeMap

D java.util.SortMap

E java.util.Hashtable

F java.util.HashMap

A E

# 8、Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述正确的是()

A ArrayList和LinkedList均实现了List接口

B ArrayList的访问速度比LinkedList快

C 添加和删除元素时,ArrayList的表现更佳

D HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值

A B D

ArrayList插入和现有项的删除开销很大,除非在末端,但是随机访问速度快。LinkedList插入和删除开销很小。

# 9、请问运行主要的程序会打印出的是什么()
public class Test{ 
    public static void main(String [] args){ 
        List list=new ArrayList(); 
        list.add("a");
        list.add("b");
        list.add("a");
        Set set=new HashSet(); 
        set.add("a"); 
        set.add("b"); 
        set.add("a"); 
        System.out.println(list.size()+","+set.size()); 
    } 
}

3,2

list有序可重复,set无序不可重复

# 9、Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述正确的是()

A ArrayList和LinkedList均实现了List接口

B ArrayList的访问速度比LinkedList快

C 添加和删除元素时,ArrayList的表现更佳

D HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值

A B D

ArrayList插入和现有项的删除开销很大,除非在末端,但是随机访问速度快。LinkedList插入和删除开销很小。

阅读全文
×

(为防止恶意爬虫)
扫码或搜索:HelloCoder
发送:290992
即可永久解锁本站全部文章

解锁
#Java
上次更新: 2025-02-21 06:04:57
最近更新
01
《LeetCode 101》
02-21
02
IDEA、Golang、Pycharm破解安装
02-21
03
《LeetCode CookBook》
02-21
更多文章>
Theme by Vdoing | Copyright © 2020-2025 码农阿雨
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式