黑马程序员技术交流社区

标题: 关于集合的两种遍历 [打印本页]

作者: 小四姐姐    时间: 2016-3-29 23:55
标题: 关于集合的两种遍历
/*
题目1:
        创建ArrayList对象,添加5个元素,使用Iterator遍历输出。*/
"******************************************************************************
/*题目2:
        两个集合{“a”,“b”,“c”,“d”,“e”}和{“d”,“e”,“f”,“g”,“h”},
        把这两个集合去除重复项合并成一个
思路:
        这道题主要是考察集合的知识的,可以用ArrayList解决问题
        1、先创建这两个集合
        2、向这两个集合分别添加元素
        3、用第二个集合的调用iterator()方法获取Iterator对象
        4、遍历第二个集合,并用第一个集合判断是否包含第一个
                集合的元素,如果不包含就向集合一添加元素
        5、打印集合1,就是想要的结果
*/
//导包
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;

class Test {
        public static void main(String args[])
        {
                //创建集合1
                List<String> list1 = new ArrayList<String>();
                //向集合1添加元素
                list1.add("a");
                list1.add("b");
                list1.add("c");
                list1.add("d");
                list1.add("e");
                //创建集合2
                List<String> list2 = new ArrayList<String>();
                //向集合2添加元素
                list2.add("d");
                list2.add("e");
                list2.add("f");
                list2.add("g");
                list2.add("h");
                //获取集合2的迭代器
                Iterator it = list2.iterator();
                //遍历集合2
                while(it.hasNext())
                {
                        String str = (String) it.next();
                        //如果不包含就向集合1添加此元素
                        if(!list1.contains(str))
                        {
                                list1.add(str);
                        }
                }
                    System.out.println(list1);
        }
}
/////////////////////////////////////////////////////////////////////
"3
/*
题目:
        已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,
        并按照自然排序顺序后输出到b.txt文件中。即b.txt文件内容应为"abc......"这样的顺序
思路:
        1、先将a.txt文件内容读取出来并存到字符数组中
        2、用Arrays.sort(字符数组) 将这个字符数组排序
        3、将字符数组输出到b.txt文件中
*/

import java.io.IOException;
import java.io.File;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Arrays;

class ReadFileAndSortString {
        public static void main(String args[]) throws IOException
        {
                //封装数据源及目的地File
                    File a = new File("a.txt");
                    File b = new File("b.txt");
                //高效字符输入流得到数据源
                BufferedReader br = new BufferedReader(new FileReader(a));
                //高效字符输出流得到目的地
                BufferedWriter bw = new BufferedWriter(new FileWriter(b));
                String line =null;
                //循环读取文件
                while((line = br.readLine())!=null)
                {
                        //得到读取一行字符串的长度
                        int len = line.length();
                        char[] chrs = new char[len];
                        //转换成字符数组
                        chrs = line.toCharArray();
                        //通过Arrays的sort方法排序
                        Arrays.sort(chrs);
                        System.out.println("字符串:"+new String(chrs));
                        //写到文件中
                        bw.write(chrs);
                        bw.newLine();
                        //刷新缓冲区
                        bw.flush();
                }
                //关闭资源
                br.close();
                bw.close();
                System.out.println("复制成功");
        }
}
/////////////////////////////////////////////////////////////////////
"


作者: 唯爱唐嫣    时间: 2016-3-30 00:01
这题做的相当不错!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2