【问题标题】:Convert ArrayList fetched from HashMap to an Array将从 HashMap 获取的 ArrayList 转换为 Array
【发布时间】:2011-09-30 08:09:51
【问题描述】:

我该怎么做? 当我将字段存储在 HashMap 中时,我就像简单的对象一样

HashMap map = new HashMap();

    map.put ("Autorul",numelePrenumeleAutorului);
    map.put ("Denumirea cartii",denumireaCartii);
    map.put ("Culoarea cartii",culoareaCartii);
    map.put ("Genul cartii",gen);
    map.put ("Limba",limba);
    map.put ("Numarul de copii",numarulDeCopii);
    map.put ("Numarul de pagini",numarulDePagini);
    map.put ("Pretul cartii",pretulCartii);

     ArrayList arl=new ArrayList();

     for (int i = 0;i<numarulDeCopii;i++) {

     arl.add(coeficientUzura[i]);
}
     map.put ("Coeficientii de Uzura",arl);

我从 HashMap 访问值(查找最后几行)

Carte (String caleSpreFisier) {

HashMap map = new HashMap();

File file = new File(caleSpreFisier); 

try  {

FileInputStream f = new FileInputStream(file);  
ObjectInputStream s = new ObjectInputStream(f);  
map = (HashMap)s.readObject();         
s.close();

 } catch(Exception e){

           System.out.println("An exception has occured : "+e);     
    }

for (Object key :map.keySet()) {

    if (key.equals("Autorul")) {

        numelePrenumeleAutorului = (String)map.get(key);

    }

      if (key.equals("Denumirea cartii")) {

      denumireaCartii = (String) map.get(key);
    }

    if (key.equals("Culoarea cartii")) {

        culoareaCartii = (String)map.get(key);
    }


    if (key.equals("Genul cartii")) {

        gen = (String) map.get(key);

    }

    if (key.equals("Limba")) {

        limba = (String) map.get(key);

    }

    if (key.equals("Numarul de copii")) {

        numarulDeCopii = (Integer) map.get(key);

    }

    if (key.equals("Numarul de pagini")) {

        numarulDePagini = (Integer) map.get(key);

    }

    if (key.equals("Pretul cartii")) {

         pretulCartii = (Double) map.get(key);
    }

    if (key.equals("Coeficientii de Uzura")) {

        ArrayList temp = new ArrayList();


        Object me = map.get(key);

        System.out.println(me);

        //temp = (ArrayList) map.get(key);
    }   
}

【问题讨论】:

    标签: java arraylist hashmap


    【解决方案1】:
    Object[] array = ((ArrayList) map.get(key)).toArray();
    

    【讨论】:

      【解决方案2】:

      首先:你在object denial。您的HashMap 应该是您编写的具有真实属性以保存不同字段的适当类。

      这样,您也不必进行丑陋的“属性名称”到本地变量的映射。

      下一步:如果您在地图中输入的是ArrayList,那么您可以再次将您输出的内容转换为该类型:

      ArrayList temp = (ArrayList) map.get(key);
      

      【讨论】:

      • 谢谢,但是属性的名称呢,这是正常的,因为我的母语输入了名称
      猜你喜欢
      • 2017-08-14
      • 2012-06-02
      • 2020-07-09
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      相关资源
      最近更新 更多