第十四单元 集合

自古美人都是妖i 提交于 2020-01-31 02:27:05

一、填空题

1.包的命名规范是(包名全部小写).

2 权限访问控制符中,访问权限最小的是(private)

3 权限访问控制符中,访问权限最大的是(public)

 修饰的属性或方法只可以被本类、本包内的类使用,应选择的修饰符是(private)

4 面向对象中,继承需要使用到的关键字是(extends)

5、List接口的特点是(有序列表)

6、ArrayList和LinkedList的区别是(ArrayList底层是数组,LinkedList底层是链表)

7、关于ArrayList类的get方法的功能是(通过下标获取元素)

8、对ArrayList进行删除元素时,需要的方法是(remove())

9、如果要获得集合的元素个数,需要调用的方法是(size())

10、List接口的常用实现类包括(ArrayList,LinkedList)

11.Collection的常用子接口包括(List,Set)

12 Collection的父接口是(Iterable)

13基本数据类型int的封装类是(Integer)

14、能够去除字符串空格的方法是(trim()方法)

15、能够实现截取字符串操作的方法是(substring()方法)

16、Math类中的哪个方法可以取绝对值?(abs()方法).

17、Math类中的哪个方法可以求四舍五入?_(round()方法)

 

18 .数组是一种引用数据类型

19int类型的数组默认值是(0)

20.若有如下程序段程序的执行结果是(1)

int index=1; int foo[]=new int[3]; int bar=foo[index];int baz=bar+index;

21.设有下列数组定义语句: int a[][]= {{1, 2}, {3}};则此a[1][0]的值为(3)

22、Java基本类型中字符类型是(char)

23、换行的转义字符的是(\n)

24、单行注释的语法是(\\)

25、Java中标识符的要求包括(首字母小写,不能和关键字重名,驼峰式命名,见名知意)

26、java中byte数据类型的取值范围是(-128~127)

27. Collection是( 接口 )(接口/抽象类/类/最终类)

28. 对ArrayList进行删除元素时,调用的方法是 remove()

29. List接口的常用实现类包括: :(3种)

30. 基本数据类型int的包装类是(  Integer    )类。

31. 基本数据类型double的包装类是(   Double   )类。

32. (  LinkedList  )更适合增加删除操作频繁的场合

33. ArrayList类中,如果要修改元素的值,调用的方法是 set()

34. List(  实现 )了Collection接口。(继承/实现)

 

二.代码阅读题

1、若有如下接口A的定义,下列哪些类下确实现了该接口

interface A {  

void method1(int i);

 void method2(int j);

}

A  class B { void method1(int i ) { } void method2(int j ) { } }

 

B  class B implements A{ public void method1(int x ) { } public void method2(int y ) { } }

 

C  class B implements A { void method1(int i ) { } void method2(int j ) { } }

 

D  class B implements A{ void method1( ) { } void method2( ) { } }

 

2、求字符串的长度的方法是::

 

  正确答案:A

 

A  length()

 

B  size()

 

C  length

 

D  size

 

3、能够实现截取字符串操作的方法是::

正确答案:A

 

A  substring()

 

B  substr()

 

C  indexof()

 

D  equals()

 

5、输出结果为(e java)

String str =“I like java”;

System.out.println(str.substring(5));:

从5开始到结束(从0开始数,数到5)

三 判断题

1.List接口的特点是无次序,可重复  

2.ArrayList和LinkedList在删除和新增操作(remove/add)中,ArrayList更占优势

3.List和Set都是Collection的子接口

4.ArrayList list = new ArrayList();在编译时会报错

5.用迭代器遍历集合中的元素,判断集合中是否仍有元素可以迭代,可以用hasNext  ✔

6.在进行插入操作时,如果插入的是集合的头部,ArrayList性能和LinkedList性能差不多。  

7.泛型的优点是不用向下强制类型转换 ✔

四 单选题

1.如果要获得集合的元素个数,需要调用的方法是(  C    )

A length()

B add()

C size()

D remove()

2.基本数据类型Long的包装类是(  C    )类。

A Integer

B String

C Long

D Float

3.输出结果为(  C   )

String str ="Collection";

System.out.println(str.substring(1));

A Coll

B Collection

C ollection

D ollec

 

五 多选题

1 欲构造List接口类型的一个实例,此实例使用ArrayList类实现,下列哪个方法是错误的::(CD)

A List myList=new ArrayList();

B ArrayList myList=new List();

C List myList=new Object();

D List myList=new List();

2. public  class  Demo{//我严重怀疑这些程序都是直接在word手打的,为啥每次的双引号都是中文的...

    public  static void main (String[]  args){

          List al=new ArrayList();

          a1.add(“A”);

          a1.add(“B”);

          a1.add(“B”);

          a1.add(“C”);

          System.out.println (al);

    }

}

上述程序执行后的输出不是哪项::(ABD)

A [A,B,C]

B [A,B,C,C]

C [A,B,B,C]

D [B,A,C,B]

.技能题

1. 创建一个学生类,属性:姓名,年龄,班级

创建初始化学生信息的构造方法。

封装学生属性信息,定义show()方法,输出学生的详细信息。

创建3个Student对象,并将创建的3个学生对象依次添加到ArrayList对象中

遍历输出学生的详细信息。

查询所有年龄大于18岁的学生姓名,年龄

查询是否存在名字叫:张三的学生,如果存在则删除,没 有存在则添加一个姓名叫:张三的学生。

Student.java

package com.xiongluoluo;

/**
 * Created by dell on 2020/1/30.
 */
public class Student {
    /* 创建一个学生类,属性:姓名,年龄,班级
        创建初始化学生信息的构造方法。
        封装学生属性信息,定义show()方法,输出学生的详细信息。
        创建3个Student对象,并将创建的3个学生对象依次添加到ArrayList对象中
        遍历输出学生的详细信息。
        查询所有年龄大于18岁的学生姓名,年龄
        查询是否存在名字叫:张三的学生,如果存在则删除,没 有存在则添加一个姓名叫:张三的学生。*/
    private String stuName;
    private int stuAge;
    private String stuClass;
    public Student(){}
    public Student(String stuName,int stuAge,String stuClass){
        this.stuName = stuName;
        this.stuAge = stuAge;
        this.stuClass = stuClass;
    }
    public void show(){
        System.out.println("姓名:"+stuName+"\t"+"年龄:"+stuAge+"\t"+"班级:"+stuClass);
    }
    public void setStuName(String stuName){
        this.stuName = stuName;
    }
    public String getStuName(){
        return stuName;
    }
    public void setStuAge(int stuAge){
        this.stuAge = stuAge;
    }
    public int getStuAge(){
        return stuAge;
    }
    public void setStuClass(String stuClass){
        this.stuClass = stuClass;
    }
    public String getStuClass(){
        return stuClass;
    }

}

MyDemo.java

@Test
public void test1(){
   /* 创建一个学生类,属性:姓名,年龄,班级
    创建初始化学生信息的构造方法。
    封装学生属性信息,定义show()方法,输出学生的详细信息。
    创建3个Student对象,并将创建的3个学生对象依次添加到ArrayList对象中
    遍历输出学生的详细信息。
    查询所有年龄大于18岁的学生姓名,年龄
    查询是否存在名字叫:张三的学生,如果存在则删除,没 有存在则添加一个姓名叫:张三的学生。*/
    List<Student> list = new ArrayList<Student>();

    Student student1 = new Student("熊落落",18,"软件工程1班");
    Student student2 = new Student("杨梦梦",22,"软件工程2班");
    Student student3 = new Student("李鹏鹏",26,"软件工程3班");

    list.add(student1);
    list.add(student2);
    list.add(student3);

    System.out.println("*******遍历输出学生的全部信息*********");
    for(Student student : list){
        student.show();
    }
    System.out.println("*******年龄大于十八岁的学生信息*********");
    for(Student student : list){
        if(student.getStuAge()>18){
            student.show();
        }
    }
    System.out.println("*******查找张三的信息并遍历全部学生信息*********");
    int flag = 0;
    for(Student student : list){
        if("张三".equals(student.getStuName())){
            list.remove(student);
            flag = 1;
            break;
        }
    }
    if(flag==0){
        Student student4 = new Student("张三",21,"软件工程4班");
       list.add(student4);
    }
    for (Student student : list){
        student.show();
    }
}  

2.创建一个Hero类,属性包含:编号id,名字name,性别sex,爱好hobby,封装Hero类的所有属性。

要求:

使用List存储Hero对象。

为List添加三个Hero对象

用户输入编号查找对应的Hero信息,如果有对应的则将英雄的的名字改为德玛,否则打印显示没有找到此英雄并添加一个ID为控制台输入的英雄,其他信息自行完善。

遍历输出所有Hero对象,以及每个英雄的所有信息。

Hero.java

package com.xiongluoluo;

/**
 * Created by dell on 2020/1/30.
 */
public class Hero {
    /*创建一个Hero类,属性包含:编号id,名字name,性别sex,爱好hobby,封装Hero类的所有属性。
        要求:
        使用List存储Hero对象。
        为List添加三个Hero对象
        用户输入编号查找对应的Hero信息,如果有对应的则将英雄的的名字改为德玛,
        否则打印显示没有找到此英雄并添加一个ID为控制台输入的英雄,其他信息自行完善。
        遍历输出所有Hero对象,以及每个英雄的所有信息。*/
    private String id;
    private String name;
    private char sex;
    private String hobby;

    public Hero(){}
    public Hero(String id, String name, char sex, String hobby) {
        this.id = id;
        this.name = name;
        this.sex = sex;
        this.hobby = hobby;
    }

    @Override
    public String toString() {
        return "Hero{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", sex=" + sex +
                ", hobby='" + hobby + '\'' +
                '}';
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }

    public String getHobby() {
        return hobby;
    }

    public void setHobby(String hobby) {
        this.hobby = hobby;
    }
}

 

MyDemo.java

@Test
public void test2(){
    /*创建一个Hero类,属性包含:编号id,名字name,性别sex,爱好hobby,封装Hero类的所有属性。
    要求:
    使用List存储Hero对象。
    为List添加三个Hero对象
    用户输入编号查找对应的Hero信息,如果有对应的则将英雄的的名字改为德玛,
    否则打印显示没有找到此英雄并添加一个ID为控制台输入的英雄,其他信息自行完善。
    遍历输出所有Hero对象,以及每个英雄的所有信息。*/
    List<Hero> list = new ArrayList<>();

    Hero hero1 = new Hero("1","菠萝吹雪",'男',"菠萝");
    Hero hero2 = new Hero("2","梨花诗",'女',"梨花");
    Hero hero3 = new Hero("3","西门无恨",'男',"西门");

    list.add(hero1);
    list.add(hero2);
    list.add(hero3);

    Scanner sc = new Scanner(System.in);
    System.out.println("请输入编号:");
    String id = sc.next();
    int flag = 0;
    for(Hero hero : list){
        if(hero.getId().equals(id)){
            hero.setName("德玛");
            flag = 1;
            break;
        }
    }
    if(flag==0){
        System.out.println("没有找到此英雄");
        Hero hero4 = new Hero(id,"新英雄",'男',"傻猹");
        list.add(hero4);
    }

    for(Hero hero : list){
        System.out.println(hero);
    }

}

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!