A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 贺小梅 中级黑马   /  2015-11-30 23:22  /  644 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天是2015年11月30日,来到黑马的第二十天,今天的课程上到了集合,晚上自习时,有两道题,题目分别如下:
1、创建ArrayList的对象,添加五个元素,使用iterator遍历输出。
2、一个ArrayList对象aList中存放若干个字符串元素,现欲遍历该ArrayList对象,删除其中所有值为“abc”的字符串元素,请用代码是实现。
3、编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List集合进行排序(自定义排序算法,禁用collection.sort方法和treeSet),然后遍历集合输出
下面分别解这几个题,先从第一个开始。
第一题
/*
*创建ArrayList的对象,添加五个元素,使用iterator遍历输出。
*/

import java.util.ArrayList;
import java.util.Iterator;
//import java.util.Iterator;
public class Example {
public static void main(String[] args) {
    //创建ArrayList集合对象
    ArrayList<Object> al = new ArrayList<Object>();
    //向集合中 循环添加元素
    for (int i = 0; i < 5; i++) {
        al.add("A" + i);
    }
    //创建ArrayList的迭代器,遍历集合中的元素,并将集合中的元素打印输出
    Iterator<Object> it = al.iterator();
    while (it.hasNext()) {
        System.out.print(it.next() + " ");
       
    }
    }

}
最后在控制台中打印的结果是:A0 A1 A2 A3 A4


第二题
import java.util.ArrayList;
import java.util.ListIterator;

public class Example {

    /**
     * 一个ArrayList对象aList中存放若干个字符串元素,现欲遍历该ArrayList对象,
     * 删除其中所有值为“abc”的字符串元素,请用代码是实现。
     */
    public static void main(String[] args) {
        //创建ArrayList集合的对象aList
        ArrayList<String> aList = new ArrayList<>();
        //向集合中添加元素
        aList.add("hytjh");
        aList.add("abc");
        aList.add("fdvfhyj");
        aList.add("abc");
        aList.add("fthrhyt");
        //在遍历集合时需要修改集合中的元素时,不能使用Iterator来操作,否则会出现并发修改异常
        ListIterator<String> lit = aList.listIterator();
        while(lit.hasNext()){
                String line = lit.next();
                //判断集合中的元素是否是"abc",返回true时将其从集合中删除
                if("abc".equals(line)){
                        lit.remove();
                        }
                }
        //遍历经过修改后的集合,并在控制台中输出
                for(String str : aList){
                        System.out.print(str + " ");
                }
    }

}

最后在控制台中打印的结果是:hytjh fdvfhyj fthrhyt

上面就是今天的两道题
还是那句话,如果你有更好的方法,如果你愿意,希望你告诉我,让我也能够提升自己的能力~~谢谢大神~

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马