Java高级应用编程——集合练习题

1、请使用LinkedList来模拟一个队列(先进先出的特性): [必做题]
• 1.1 拥有放入对象的方法void put(Object o)
• 1.2 取出对象的方法Object get()
• 1.3 判断队列当中是否为空的方法booleanisEmpty();并且,编写测试代码,验证你的队列是否正确。

2、假设顺序列表ArrayList中存储的元素是整型数字1~5,遍历每个元素,将每个元素顺序输出。 [必做题]

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

//假设顺序列表ArrayList中存储的元素是整型数字1~5,遍历每个元素,将每个元素顺序输出。 [必做题]
public class MyArray {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        Iterator<Integer> it = list.iterator();
//      迭代器遍历
        while(it.hasNext()){
            System.out.println(it.next());
        }
//      for循环遍历
        for(int i = 0;i<list.size();i++){
            System.out.println(list.get(i));
        }
//      增强for循环
        for(Integer i :list){
            System.out.println(i);
        }
    }
}

• 3、在一个列表中存储以下元素:apple,grape,banana,pear
• 3.1 返回集合中的最大的和最小的元素
• 3.2 将集合进行排序,并将排序后的结果打印在控制台上 [必做题]

import java.util.ArrayList;
import java.util.List;

//3、在一个列表中存储以下元素:
//apple,grape,banana,pear
//• 3.1 返回集合中的最大的和最小的元素
//• 3.2 将集合进行排序,并将排序后的结果打印在控制台上 [必做题
public class MyScort {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        list.add("apple");
        list.add("grape");
        list.add("banana");
        list.add("pear");
        for(int j = 0;j<list.size()-1;j++){
            for(int i = 0;i<list.size()-1-j;i++){
                if(list.get(i).compareTo(list.get(i+1))>0){
                    String temp = list.get(i);
                    list.set(i, list.get(i+1));
                    list.set(i+1, temp);
                }
            }
        }

        System.out.print("排序后的顺序:");
        for(int i = 0;i<list.size();i++){
            System.out.print(list.get(i)+" ");
        }
        System.out.println();
        System.out.println("集合中最大的元素是"+list.get(0));
        System.out.println("集合中最小的元素是"+list.get(3));
    }
}

• 4、编写一个程序,创建一个 HashMap对象,用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额)。另外,计算并显示其中某个储户的当前余额。 [选做题]


import java.util.HashMap;
import java.util.Map.Entry;


//编写一个程序,创建一个 HashMap对象,用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额)。
//另外,计算并显示其中某个储户的当前余额。 [选做题]
public class MyMap {
    public static void main(String[] args) {
        BarkUser user1 = new BarkUser(101,"祝枝山",10000);
        BarkUser user2 = new BarkUser(102,"文征明",20000);
        BarkUser user3 = new BarkUser(103,"祝枝山",30000);

        HashMap<Integer,BarkUser> map = new HashMap<Integer,BarkUser>();
        map.put(1, user1);
        map.put(2, user2);
        map.put(3, user3);
        for(Entry<Integer,BarkUser> entry:map.entrySet()){
            System.out.println(entry.getValue());
        }
    }
}
class BarkUser{
    int id;
    String name;
    double count;

    public BarkUser(int id, String name, double count) {
        super();
        this.id = id;
        this.name = name;
        this.count = count;
    }

    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return "储户ID为"+this.id+",姓名为"+this.name+"的储户账户余额为"+this.count;
    }
}

• 5、从控制台输入若干个单词(输入回车结束)放入集合中,将这些单词排序后(忽略大小写)打印出来。 [选做题]

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class MyWord {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>();
        Scanner in = new Scanner(System.in);
        System.out.println("请输入需要排序的单词数量");
        int num = in.nextInt();
        System.out.println("请一次输入单词");
        for(int i = 0;i<num;i++){
            list.add(in.next());
        }
        for(int j = 0;j<list.size()-1;j++){
            for(int i = 0;i<list.size()-1-j;i++){
                if(list.get(i).compareTo(list.get(i+1))>0){
                    String temp = list.get(i);
                    list.set(i, list.get(i+1));
                    list.set(i+1, temp);
                }
            }
        }
        for(int i = 0;i<list.size();i++){
            System.out.println(list.get(i));
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_37067955/article/details/82110891