CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

一个基本的问题?

楼主Sylix(Sylix)2003-07-02 13:53:25 在 Java / J2SE / 基础类 提问

有两个arraylist(a,b).  
  如a(5,6,2,3,9):  
      b(3,2,6);  
     
  a的数据是b其中的一部分.  
  怎么让b的数据按照a的顺序排序? 问题点数:20、回复次数:3Top

1 楼javabandit(bandit)回复于 2003-07-02 14:01:43 得分 0

1)先找出b中元素在a中的顺序,放入一个堆栈中。  
  2)然后可以清空b,将堆中的元素取出重新放入b中!Top

2 楼xiaohaiz(城里的老土,两眼依然通红!)回复于 2003-07-02 14:09:37 得分 10

简单帮你实现了一下,不过也有缺陷:  
  (1)   没有做数据有效性处理;  
  (2)   集合中不能有重复的元素,否则如果a(5,6,6,2,3,9),   b(2.3.6)排列出来是(6,6,2,3);  
  (3)   等  
  不过如果只是你问题中的简单需求现在还可以满足.  
   
  public   class   TestSortArrayList   extends   TestCase   {  
          public   TestSortArrayList(String   name)   {super(name);}  
   
          ArrayList   a   =   new   ArrayList();  
          ArrayList   b   =   new   ArrayList();  
   
          protected   void   setUp()   throws   Exception   {  
                  a.clear();  
                  b.clear();  
                  a.add(new   Integer(5));  
                  a.add(new   Integer(6));  
                  a.add(new   Integer(2));  
                  a.add(new   Integer(3));  
                  a.add(new   Integer(9));  
   
                  b.add(new   Integer(3));  
                  b.add(new   Integer(2));  
                  b.add(new   Integer(6));  
          }  
   
          public   void   testSort()   {  
                  ArrayList   newList   =   sort(a,   b);  
                  assertNotNull(newList);  
                  assertEquals(3,   newList.size());  
                  assertEquals(new   Integer(6),   newList.get(0));  
                  assertEquals(new   Integer(2),   newList.get(1));  
                  assertEquals(new   Integer(3),   newList.get(2));  
          }  
   
          static   ArrayList   sort(ArrayList   src,   ArrayList   sub)   {  
                  ArrayList   newList   =   new   ArrayList();  
   
                  for   (   Iterator   it   =   src.iterator();   it.hasNext();   )   {  
                          Object   value   =   it.next();  
                          if   (   sub.contains(value)   )   {  
                                  newList.add(value);  
                          }  
                  }  
                  return   newList;  
          }  
  }Top

3 楼cno(一一)回复于 2003-07-02 14:12:22 得分 10

简单写了一个,不过数组中不能有重复的元素                
  int   []   a   =   {1,2,3,4};  
                  int   []   b   =   {3,2,1};  
                  int   []   c   =   new   int[b.length];  
                  int   n=0;  
                  for   (int   i=0;i<a.length;i++)  
                  {  
                          for   (int   j=0;j<b.length;j++)  
                          {  
                                  if   (a[i]==b[j])  
                                  {  
                                          c[n]=a[i];  
                                          System.out.println(c[n]);  
                                          n++;  
                                          }  
                          }  
                  }Top

相关问题

  • COM基本问
  • 基本命令
  • 基本问题:
  • 基本语法
  • 基本问题
  • 基本问题!
  • 基本问题
  • 基本问题
  • 基本问题
  • 基本语法

关键词

  • 数据
  • newlist
  • arraylist
  • assertequals
  • 元素
  • new integer
  • add
  • get

得分解答快速导航

  • 帖主:Sylix
  • xiaohaiz
  • cno

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo