collection练习题

1.去除集合中字符串的重复值(字符串的内容相同)     
//        Collection collection=new ArrayList();
//        collection.add("tom");
//        collection.add("marry");
//        collection.add("marry");
//        collection.add("jack");
//        
//        ArrayList list=new ArrayList();
//        Iterator iterator=collection.iterator();
//        while(iterator.hasNext()) {
//            String aaa=(String)iterator.next();
//            if(!list.contains(aaa)) {
//                list.add(aaa);
//            }
//        }System.out.println(list);
        
//     2.  去除集合中自定义对象的重复值(对象的成员变量值都相同)  
//        Student student=new Student();
//        student.setName("tom");
//        student.setAge(18);
//        Student student1=new Student();
//        student1.setName("marry");
//        student1.setAge(17);
//        Student student2=new Student();
//        student2.setName("marry");
//        student2.setAge(17);
//        List list1=new ArrayList();
//        list1.add(student.getName());
//        list1.add(student.getAge());
//        list1.add(student1.getName());
//        list1.add(student1.getAge());
//        list1.add(student2.getName());
//        list1.add(student2.getAge());
//        System.out.println(list1);
//        List list2=new ArrayList();
//        for(int i=0;i<list1.size();i++) {
//            if(!list2.contains(list1.get(i))) {
//            list2.add(list1.get(i));}
//        }System.out.println(list2);
        
        
//        用LinkedList模拟栈数据结构的集合 
        LinkedList ll=new LinkedList();
        ll.addFirst(1);
        ll.addFirst(2);
        ll.addFirst(3);
        ll.addFirst(4);
        ll.addFirst(5);
        System.out.println(ll);
        System.out.println(ll.removeFirst());
        System.out.println(ll.removeFirst());
        System.out.println(ll.removeFirst());
        System.out.println(ll.removeFirst());
        System.out.println(ll.removeFirst());
//        用ArrayList模拟栈数据结构的集合     
        ArrayList list=new ArrayList();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        System.out.println(list);
//        System.out.println(list.remove(list.size()-1));
//        System.out.println(list.remove(list.size()-1));
//        System.out.println(list.remove(list.size()-1));
//        System.out.println(list.remove(list.size()-1));
//        System.out.println(list.remove(list.size()-1));
        for(int i=list.size()-1;i>=0;i--) {
        System.out.println(list.remove(list.size()-1));
        }
//        集合的嵌套遍历 

         // 创建大集合
        ArrayList<ArrayList<Student>> bigArrayList = new ArrayList<ArrayList<Student>>();

        // 创建第一个班级的学生集合
        ArrayList<Student> firstArrayList = new ArrayList<Student>();
        // 创建学生
        Student s1 = new Student("tangseng", 30);
        Student s2 = new Student("sunwukong", 29);
        Student s3 = new Student("zhubajie", 28);
        Student s4 = new Student("shaheshang", 27);
        Student s5 = new Student("bailongma", 26);
        // 学生进班
        firstArrayList.add(s1);
        firstArrayList.add(s2);
        firstArrayList.add(s3);
        firstArrayList.add(s4);
        firstArrayList.add(s5);
        // 把第一个班级存储到学生系统中
        bigArrayList.add(firstArrayList);

        // 创建第二个班级的学生集合
        ArrayList<Student> secondArrayList = new ArrayList<Student>();
        // 创建学生
        Student s11 = new Student("zhangfei", 30);
        Student s22 = new Student("guanyu", 28);
        Student s33 = new Student("zhaoyun", 26);
        // 学生进班
        secondArrayList.add(s11);
        secondArrayList.add(s22);
        secondArrayList.add(s33);
        // 把第二个班级存储到学生系统中
        bigArrayList.add(secondArrayList);

        // 创建第三个班级的学生集合
        ArrayList<Student> thirdArrayList = new ArrayList<Student>();
        // 创建学生
        Student s111 = new Student("tom", 40);
        Student s222 = new Student("jack", 35);
        Student s333 = new Student("mary", 30);
        Student s444 = new Student("jone", 22);
        // 学生进班
        thirdArrayList.add(s111);
        thirdArrayList.add(s222);
        thirdArrayList.add(s333);
        thirdArrayList.add(s444);
        // 把第三个班级存储到学生系统中
        bigArrayList.add(thirdArrayList);
        //嵌套增强for遍历
        for(ArrayList<Student> array:bigArrayList){
            for(Student s : array){
                System.out.println(s.getName()+":"+s.getAge());
            }
        }

//        获取10个1-20之间的随机数,要求不能重复 
//        /**
//        * 分析:
//        * A:创建产生随机数的对象
//        * B:创建一个存储随机数的集合。
//        * C:定义一个统计变量。从0开始。
//        * D:判断统计遍历是否小于10
//        * 是:先产生一个随机数,判断该随机数在集合中是否存在。
//        * 如果不存在:就添加,统计变量++。
//        * 如果存在:就不搭理它。
//        * 否:不搭理它
//        * E:遍历集合
//         Random random=new Random();
//         ArrayList list=new ArrayList();
//        int count=0;
//        while(count<10) {
//            int randomNumber=random.nextInt(20)+1;
//            if(!list.contains(randomNumber)) {
//                list.add(randomNumber);
//                count++;
//            }
//        }
//            for(int i=0;i<list.size();i++) {
//                System.out.println(list.get(i));
//            }
            
//        键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值 
            
//            Scanner scanner=new Scanner(System.in);
//            
//            ArrayList list=new ArrayList();
//            while(true) {
//                int input=scanner.nextInt();
//                
//            if(input!=0) {
//                list.add(input);
//            }else {
//                break;
//            }
//            
//            }
//            Object[] array=list.toArray();
//            Arrays.sort(array);
//            System.out.println(array[array.length-1]);

 

posted @ 2021-07-20 16:57  静静奇女子  阅读(81)  评论(0)    收藏  举报