作业8

作者: 何鹏辉 | 来源:发表于2021-05-19 20:49 被阅读0次

1.Collection 接口和 Collections 类都是做什么用的 ?

Collection接口和Collections类都在java.util包下,前者是接口,后者是类。

Collection:是集合类的上层接口。本身是一个interface,里面包含了一些集合的基本操作。

Collections是一个集合框架的帮助类,里面包含一些对集合的排序,搜索以及序列化的操作。

2.Collection 接口有几个子接口 ?Map 接口有父接口么 ?

Collection接口有两个子接口List、Set、Queue

没有

3.List 、 Set 、 Map 三个接口有什么特点 ?

List可以精准控制列表中每个元素的插入位置。允许出现重复的值

Set不允许重复,HashSet存储顺序为无序。,TreeSet存储顺序为有序,排序后为升序

Map它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。

4请简述哈希表(散列表)

哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表或哈希表。

5.以下哪个集合接口支持通过字符串主键检索对象  A

A.Map

B.Set

C.List

D.Collection

6.以下哪些语句用于创建一个Map实例?D

A.Map m = new Map();

B.Map m = new Map(init capacity,increment capacity);

C.Map m = new Map(new Collection());

D.以上均不行

7.以下代码的执行结果是?

abcdef

def

abcdef

publicclassExample{

    publicstaticvoidmain(String[]args) {

        Strings1="abc";

        Strings2="def";

        Strings3="def";

        List<String>list=newArrayList<String>();

        list.add(s1);

        list.add(s2);

        list.add(s3);

        for(Stringstring:list) {

            System.out.println(string);

        }

        System.out.println("-------------------");

        Set<String>set=newHashSet<>();

        set.add(s1);

        set.add(s2);

        set.add(s3);

        for(Stringstring:set) {

            System.out.println(string);

        }

    }

}

8.以下代码执行结果是?TreeMap和 HashMap 的区别是什么 ?

执行结果:one=1three=3two=2

HashMap中元素是没有顺序的,TreeMap中所有元素都是有某一固定顺序的

publicclassExample{

    publicstaticvoidmain(String[]args) {

        TreeMap<String,String>map=newTreeMap<String,String>();

        map.put("one","1");

        map.put("two","2");

        map.put("three","3");

        displayMap(map);

    }

    staticvoiddisplayMap(TreeMapmap) {

        Collection<String>c=map.entrySet();

        Iterator<String>i=c.iterator();

        while(i.hasNext()) {

            Objecto=i.next();

            System.out.print(o.toString());

        }

    }

}

9.Vector、ArrayList 和 LinkedList 有什么区别 ?

Vector是使用对象数组来保存数据的,可以根据需要自动增加容量

ArrayList也是根据需要调整容量,不过和Vector有区别,Vector在扩容时会提高一倍,而Array List则是增长50%,有利于节省内存空间

Vector的性能比ArrayList要差

LinkedList是Java提供的双向链表

ArrayList和Vector是基于动态数组实现的,LinkedList是基于双向链表实现的

10.Arrays.ArrayList 和 java.util.ArrayList 有什么区别 ?

Arrays.ArrayList只是为了序列化写的一个内部类,只有一个参数为数组的构造函数,修改元素也是通过修改之前传递进去的固定长度数组来时出现,且没有add方法

java.util.ArrayList:优点,有序,可以按下标操作,添加速度快 缺点:检索能力差

11.Hashtable和HashMap的区别

Hashtable继承自Dictionary类,而HashMap实现了Map接口

Hashtable的方法是同步的,HashMap的方法不是同步的

Hashtable重速度、轻安全,是线程非安全的,HashMap允许null值(Key和Value都允许),需要程序员自己管理线程的同步问题

HashMap => 不同步、空键值、效率高;Hashtable => 同步、非空键值、效率略低

12.分别使用 HashMap 和 List 以及数组统计数组中相同的值出现的次数

String[]array={"abc","ABC","123","def","^_^","def","abc"};

abc2

1231

def2

^_^1

13.请写出 Iterator 迭代器的优点

迭代器会提高效率,一方面每次next循环都会yield出一个值,供sum函数累加使用,这样就不用占用很大的内存,另一方面,使用迭代器也不用完全等到前n个数全部遍历完再进行累加,效率更高!

可以边遍历边删除。

14.请写出循环 List 、Set、Map 的代码

List:

Iterator<String>it=list.iterator();

while(it.hasNext()){

Stringx=it.next();

if(x.equals("del")){

it.remove();

   }

}

Set:

Set<String>set=newHashSet<String>();

Iterator<String>it=set.iterator();

while(it.hasNext()) {

Stringstr=it.next();

System.out.println(str);

   }  

Map:

Setset=map.entrySet();

Iteratori=set.iterator();

while(i.hasNext()){

Map.Entry<String,String>entry1=(Map.Entry<String,String>)i.next();

System.out.println(entry1.getKey()+"=="+entry1.getValue());

   }

15、以下哪个集合接口支持元素排序  C

A.Collection

B.Set

C.List

D.Map

相关文章

  • 罗博深暑期数学训练营作业分享

    8月11日作业分享: 8月10日作业分享: 8月9日作业分享: 8月8日作业分享: 8月7日作业分享: 8月4日作...

  • 2020年首次读书营作业合集4

    作业:Day16—Day20 作业日期:8/16—8/20

  • 作业8

  • 作业8

    【文案作业八】好害羞哦!文案里色彩和欲望也有关联 在文案写作中,贩卖情绪是一种基本的写作技巧! 而色彩和情绪有着直...

  • .作业8

    都市爱情类是我最喜欢的类型小说,其中比较喜欢的是张爱玲和安妮宝贝的,尽管许多人觉得安妮宝贝的写作像是无病呻吟,但我...

  • 【作业8】

    《把握你的职业发展方向》,262页 识别、列举自己的技能,并整合起来向对方展示,这是一回事。证明自己拥有这些技能...

  • 作业8

    1.块级元素和行内元素分别有哪些?动手测试并列出4条以上的特性区别 ** 块级元素 **div h1 h2 h3 ...

  • 作业8

    我喜欢金庸的武侠小说。因为看过83版的射雕英雄传,又看了看青少版的射雕英雄传,就更熟悉和迷恋他了。小说时代背景是在...

  • 作业8

    1. 如果写小说的话,我的愿望是创造出一个世界,一个属于我自己的内心世界,抑或是将一些事物心绪记录下来,呈现出来,...

  • 作业8

    通过对莫扎特的完美音高的案例,证明了至少在200多年前是一些少数幸运的人才会天生拥有的,如果说完美音高是一种天生的...

网友评论

      本文标题:作业8

      本文链接:https://www.haomeiwen.com/subject/pqcqjltx.html