public class AA
{
  public static String str1;
  public static String str2;
  public String getStr1()
  {
     return str1;
  }
  public void setStr1(String str1)
  {
    this.str1 = str1;
  }
  public String getStr2()
  { 
     return str2;
  }
  public void setStr2(String str2)
  {
     this.str2 = str2;
  }
}public class BB
{
  public java.util.Collection tt(){
  ArrayList list = new ArrayList();
  AA aa = new AA();
  aa.setStr1("a1");
  aa.setStr2("b1");
  list.add(aa);
  AA bb = new AA();
  bb.setStr1("a2");
  bb.setStr2("b2");
  list.add(bb);
  return list;
  }
}在以上两个类中,如果调用BB类中的tt()方法,可以得到一个Collection集合,那我想取出集合中对应的原始值该怎么写呢,比如说我想取得字符串"a1",这段代码该如何写呢。

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【rexuenaner929】截止到2008-08-01 22:52:14的历史汇总数据(不包括此帖):
    发帖的总数量:1                        发帖的总分数:100                      每贴平均分数:100                      
    回帖的总数量:1                        得分贴总数量:0                        回帖的得分率:0%                       
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:1                        未结的总分数:100                      
    结贴的百分比:0.00  %               结分的百分比:0.00  %                  
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

    取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=rexuenaner929
      

  2.   

    我也是在学这个:我做了一下,不知道是不是你想要的结果
    import java.util.ArrayList;
    import java.util.List;
    import java.util.ListIterator;public class BB 

      //这个是我改了一下 加了个static
      public static java.util.Collection tt(){ 
      ArrayList list = new ArrayList(); 
      AA aa = new AA(); 
      aa.setStr1("a1"); 
      aa.setStr2("b1"); 
      list.add(aa); 
      AA bb = new AA(); 
      bb.setStr1("a2"); 
      bb.setStr2("b2"); 
      list.add(bb); 
      return list; 
      } 
      //实现就在这里写了 
      public static void main(String[] args){
      List list = new ArrayList(tt());//ArrayList的重载构造方法中的参数可以是一个Collection [ArrayList(Collection<? extends E> c)]
              //这里的话差不多应该知道了吧
      for(ListIterator iter = list.listIterator();iter.hasNext();){
      AA a = (AA)iter.next();
      System.out.println("索引"+iter.nextIndex()+"  "+"str1:  "+a.getStr1());
      System.out.println("索引"+iter.nextIndex()+"  "+"str2:  "+a.getStr2());
      }
      }

    我也学了没多久,反正照你的想法我想这样是可以实现的!希望能给你带来帮助
      

  3.   

    像你那样实现的话应该可以用Map
      

  4.   

    思想就不对,你想存取键值对的话,用HSAHTABLE,MAP等都行.LIST只不过存的是集合.
      

  5.   

    嗯,得根据实际用途采取相应的数据结构。List表现为一系统元素的有序集合。
    当然你可以遍历List里面的每一个元素,看看它的str1是不是为"a1",如果是再取出它的str2属性。
    如下:
    for(int i = 0; i < list.size(); ++i){
      if(((AA)list.get(i)).getStr1() == "a1"){
        // 找到啦!结果是:((AA)list.get(i)).getStr2()
      }
    }但,注意,你的目的分析起来实际是根据str1的值找到str2的值,即是str1到str2的映射,用Hashtable或Map才更适合!
      

  6.   

    谢谢上面各位,这不是我的什么思想原因,只是在其他地方遇到了这样一个问题,已经有了collection集合,而并不是我来创建的,我只是需要将它里面的值还原出来,我试了好几种方法,结果得到的都是@加一串数字代码