您的当前位置:首页正文

java基础入门第三版第七章编程题答案

2022-10-06 来源:易榕旅网
java基础入门第三版第七章编程题答案

一、填空题

1、JIK中提供了一系列可以存储任意对象的类,统称为一集合。 2、在创建TreeSet对象时,可以传入自定义的比较器,自定义比较器需要实现CompanKor接口。

3、Collection有两个子接口分别是List和Set,List集合的特点是有序、可重复,Set集合的特点是无序、不可重复。

4、使用terator历集合时,首先需要调用hashNext()法判断是否存在下一个元素,若存在下一个元素,则调用next()方法取出该元素。 5、集合按照存储结构的不同可分为单列集合和双列集合,单列集合的根接口是Collection,双列集合的根接口是Map。

6、Map集合中的元素都是成对出现的,并且都是以键、值的映射关系存在。

7、Iterator有一个子类,不仅可以对集合进行从前向后遍历,还可以从后向前通历,该类是ListIterator

8、List集合的主要实现类有Arfaylist、LinkedList,Set集合的主要实现类有HashSet、TreeSetMap集合的主要实现关有HashMap、TreeMap 。

9、Map集合中存储元素需要调用put()方法,要想根据该集合的键获取对应的值需要调用get()方法。

10、java.utilCollections,还提供了一个专门用于操作数组的工具类,这个类是Arrays

二、判断题

1、Set集合是通过键值对的方式来存储对象的。错

2、集合中不能存放基本数据类型,而只能存放引用数据类型对 3、如果创建的TreeSet集合中没有传入比较器,则该集合中存入的元素需要实现Comparable接口。对

4、使用Iterator选代集合元素时,可以调用集合对象的方法增删元素。错

5、LinkedList在内部维护了一个双向循环链表,每一个元素节点都包含前一个元素节点和后一个元素节点的引用。对 三、选择题

1、要想保存具有映射关系的敏据,可以使用以下哪些集合?(多 选)BC

A、ArrayList B、 TseeMap C、 HashMap D、 TreeSet

2、Java语言中,集合类都位于哪个包中?A A、java.util B、javaj ang C、java.array D、java.collections

3、使用Ierator时,判断是否存在下一个元素可以使用以下哪个方法?D

A、 next() B、hash() C 、hasPrevious() D、 hasNext()

4、关于foreach循环的特点,以下说法哪些是正确的?(多选)ABD

A、foreach循环在遍历集合时,无需获得容器的长度

B、foreach循环在遍历集合时,无需循环条件,也无需迭代语句 C、foreach循环在遍历集合时非常繁项

D、foreach循环的语法格式为:for(容器中元素类型临时变量:容器变量)

5、在程序开发中,经常会使用以下哪个类来存储程序中所需的配置? A、 HashMap B、TreeSet C、Properties D、TreeMap

6、使用Emumeration遍历集合时,需要使用以下哪些方法?(多选)AB

A、 hasMoreElements() B、 nextElement() C、next() D、hashNext()

7、要想集合中保存的元素没有重复并且接照一定的顺序排列,可以使用以下哪个集合?D

A、LinkedList B、Array List C、hashSet D、TrccSet

8、下列哪些说法是正确的?(多选)AB A、LinkedList集合在增删元素时效率较高 B、ArrayList集合在查询元素时效率较高 C、HashMap不允许出现一对nll键null值 D、HashSet集合中元素可重复并且无序

9、以下哪些方法是LinkedList集合中定义的?(多选)ABC

A、getLast() B、getFirst() C、remove (int index) D、next()

10.获取单列集合中元素的个数可以使用以下哪个方法?B A、length() B、size()

C、get(int index) D、add(Object obj) 四、程序分析题

1、程序可以编译通过,输出结果是“a、b、c”,因为TreeSet集合不允许存放重复元素,第2次增加的元素c会覆盖之前存入的元素c,所以输出结果是“a、b、c”,而不是“a、b、c、c”。

2、程序不可以编译通过,这是由于向AmayLis集合中存入元素时,集合并不能记住元素的类型,因此在取出元素时,只能使用Objcct类型,而不能使用Sting类型。

3、程序可以编译通过,但是什么也没有打印。使用Listterator进行从后向前的遍历集合,可以使用以下两种方法,一是使用istterator(imtindex)方法将索引index的值设置为集合元素的数目,也就是Lislteralorit=listlislieralor(3);,二是将程序先从前向后遍历,然后再从后向前遍历。

4、程序编译不通过,由于Map集合在追历的过程中不能使用集合对象本身删除元素,这会导致并发修改异常、若想删除集合中的元素,可以使用Herator的remove()方法。 五、简答题

1、为了使程序能方便的存储和操作数目不固定的一组数据,IK提供

了一套类库,这些类都位于javautil包中,统称为集合,集合框架中包含3个接口,分别是List、Set、Map。

2、List的特点是元素有序、元素可重复。List接口的主要实现类有AmayList和LakedList.Set的特点是元素无序、元素不可重复。Set接口的主要实现类有HashSet和TreeSet。Map的特点是存储的元素是键(Key)、值(Value)映射关系,元素都是成对出现的。Map接口的主要实现类有HashMap和TreeMap。

3、Collection是一个单例集合接口。它提供了对集合对象进行基本操作的通用方法。Collections是一个工具类。它包含各种有关集合操作的方法。 六、编程题

请按照题目的要求编写程序并给出运行结果

1、使用ArrayList集合,对其添加10个不同的元素,并使用 Iterator遍历该集合。 提示:

1)使用add()方法将元素添加到ArrayList集合中。

2)调用集合的iterator()方法获得Iterator对象,并调用Iterator的hasNext()和next()方法,选代出集合中的所有元素。

2、在HashSet集合中添加三个Person对象,把姓名相同的人当做同一个人,禁止重复添加。 提示:

Person类中定义name和age属性,重写hashCode()方法和cquals()

方法,针对Persoa类的name属性进行比较,如果name相同,hashCode()方法的返回值相同,equals方法返回true。

3、选择合适的Map集合保存S位学员的学号和姓名,然后按学号的自然顺序的倒序将这些键值对一一打印出来。 提示:

1)创建TreeMap集合。

2)使用put0方法将学号(“1”、“2”、“3”、“4”、“S”)和姓名(“Lucy”、“John”、“Smith”、“Aimee”、“Amanda”)存储到Map中,存的时候可以打乱顺序观察排序后的效果。 3)使用man.keySel获取键的Sel集合。

4)使用Set集合的iterator()方法获得Iterator对象用于选代键。 5)使用Map集合的get()方法获取键所对应的值。

因篇幅问题不能全部显示,请点此查看更多更全内容