Hashtable ht = new Hashtable();             
             for(int i = 0;i<lengthList.size();i++){   //用 Arraylist 生成 HashTable
              ArrayList twoList = new ArrayList();
                 twoList = (ArrayList) lengthList.get(i);    
                 int keyname = i++;
                 ht.put(keyname, twoList.get(1).toString().trim());
                 System.out.println(twoList.get(1).toString().trim());
                 System.out.println(keyname);
             }//for()
总是得不出想要的结果!好像不能把数据存入hashtable表中去?输出的答案总是不对?

解决方案 »

  1.   

    Hashtable ht = new Hashtable();              
                 for(int i = 0;i <lengthList.size();i++){   //用 Arraylist 生成 HashTable               ArrayList twoList = new ArrayList(); 
                     
                     twoList = (ArrayList) lengthList.get(i);     
                     int keyname = i++;                  ht.put(keyname, twoList.get(1).toString().trim()); 
                     System.out.println(twoList.get(1).toString().trim()); 
                     System.out.println(keyname); 
                 }//
    因为  i ++ 执行了两次。
    该成如下试试: Hashtable ht = new Hashtable();              
     int j=0;
                 for(int i = 0;i <lengthList.size();i++){   //用 Arraylist 生成 HashTable 
                  ArrayList twoList = new ArrayList(); 
                     twoList = (ArrayList) lengthList.get(i);     
                     int keyname = j++; 
                     ht.put(keyname, twoList.get(1).toString().trim()); 
                     System.out.println(twoList.get(1).toString().trim()); 
                     System.out.println(keyname); 
                 }//
      

  2.   

    你这个程序根本就编译不了,lengthList这个变量定义了吗,包你都导入了吗?还有你也没说清楚你要做什么啊。我只是凭大概的理解写了以下代码啊。
    import java.util.ArrayList;
    import java.util.Hashtable;
    public class aa{
    public static void main(String[] args){
    Hashtable ht = new Hashtable(10);  
    ArrayList twoList = new ArrayList();  
            
            for(int i = 0;i <10;i++){   //用 Arraylist 生成 HashTable              
                  twoList.add(""+i);   
                  String keyname = ""+i;
                  ht.put(keyname, twoList.add(""+i));
                  System.out.println(twoList.get(i).toString().trim());
                 // System.out.println(keyname);
            }//for() 
    }
    }
      

  3.   

     twoList = (ArrayList) lengthList.get(i);     这句可以通过编译吗,会报错的
    右面是一个object,要赋值给左面的arraylist对象,可以吗
      

  4.   

    改成如下就对了,你自己看哪里你写错 了吧.
    Hashtable ht = new Hashtable();             
                 for(int i = 0;i <lengthList.size();i++){   //用 Arraylist 生成 HashTable
                  ArrayList twoList = new ArrayList();
                     twoList = (ArrayList) lengthList;    
                     int keyname = i++;
                     ht.put(keyname, twoList.get(i).toString().trim());
                     System.out.println(twoList.get(i).toString().trim());
                     System.out.println(keyname);
                 }//for() 
      

  5.   

    这个程序感觉就有问题!~
    仿佛LZ是要把 一个链表中的元素存入Hashtable,
    如果是那么 首先请遍历链表.然后再将 KEY  和  VALUE 添加入Hashtable.
    应为你给的不是完全的程序所以很难明白你的意图,要明白看别人写的程序要比自己写程序还难,何况你给的不是完整的程序.