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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 大漠月影 中级黑马   /  2013-8-8 19:00  /  1228 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Sword 于 2013-8-9 08:59 编辑

       昨天上课讲到List集合,今天趁休息做了些练习,有一道题觉得还不错,在这里跟大家交流一下。
       题目是将两个有序排列的整数集合合并成一个集合,要求合并后的集合也是一个有序的集合。以下是我写的代码
  1. import java.util.*;
  2. class ListSort
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 List<Integer> list1 = new ArrayList<Integer>();
  7.                 List<Integer> list2 = new ArrayList<Integer>();
  8.                
  9.                 list1.add(1);
  10.                 list1.add(3);
  11.                 list1.add(7);
  12.                 list1.add(8);
  13.                 list1.add(9);
  14.                 list1.add(23);
  15.                 list1.add(67);

  16.                 list2.add(2);
  17.                 list2.add(4);
  18.                 list2.add(9);
  19.                 list2.add(23);
  20.                 list2.add(34);
  21.                 list2.add(65);
  22.                 list2.add(90);

  23.                 List<Integer> list3 = addList(list1, list2);
  24.                 //判断新的集合是否为空,或大小是否为0,如果是,则返回程序不用打印
  25.                 //如果不是,则遍历并打印出来
  26.                 if(list3==null || list3.size()==0){
  27.                         return;
  28.                 }
  29.                 for(int i=0;i<list3.size();i++){
  30.                         System.out.print(list3.get(i)+" ");
  31.                 }
  32.                 System.out.println();        
  33.         }
  34.         //定义一个方法完成将两个集合中的元素合并的功能
  35.         public static List<Integer> addList(List<Integer> list1, List<Integer> list2){
  36.                 //先判断这两个集合是否为空或大小是否为0
  37.                 //如果其中一个集合为空或大小为0则直接返回另一个集合
  38.                 if(list1 == null || list1.size()==0){
  39.                         return list2;
  40.                 } else if(list2 == null || list2.size()==0){
  41.                         return list1;
  42.                 }
  43.                 //定义一个新的集合,将从原来集合中取出的元素存储进去
  44.                 List<Integer> result = new ArrayList<Integer>();
  45.                 int i=0;// 定义集合1的下标
  46.                 int j=0;// 定义集合2的下标
  47.                 //将集合1与集合2中的元素逐一取出相比较
  48.                 while(i<list1.size() && j< list2.size()){<span style="line-height: 1.5;">                 </span>
复制代码
本来想发表在日志里的,但是不知道为什么提示没有权限发表日志???

评分

参与人数 1黑马币 +3 收起 理由
吴光新 + 3 加油

查看全部评分

2 个回复

倒序浏览
沙发好舒服....
回复 使用道具 举报
楼主代码没发全吧。。。

好漂亮的妹子。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马