2016-05-12 9 views
-2

オブジェクト値を印刷したいと思います。 私はそれにアクセスすることはできませんし、それを行う方法を知らない。JavaでHashMapから値を取得するには?

私はここにvalue()

でそれをアセスカントは私のコードです:

public class txtdatei { 

private String pickerName; 
private String language; 
private float volumeGain; 
private long pickerId; 
private static Map<Long,txtdatei> mapp=new HashMap<Long,txtdatei>(); 

public txtdatei(String username, String language, float volume){ 

    this.pickerName=username; 
    this.language=language; 
    this.volumeGain=volume; 
} 
public static void main(String[] args){ 

    File file=new File("test.txt"); 
    try{ 
     file.createNewFile(); 
     FileWriter writer =new FileWriter(file); 
     writer.write("username\tbenni\tlanguage\tgerman\n"); 
     writer.flush(); 
     writer.close(); 
     FileReader fr =new FileReader("test.txt"); 
     BufferedReader reader= new BufferedReader(fr); 
     String zeile=reader.readLine(); 
    String [] data=zeile.split("\t"); 
    int i=0; 
    for(i=0;i<data.length;i++) 
    { 
     if(data[i].equals("Username")) 
       { 
        mapp.put((long)(1),new txtdatei(data[2],data[4],Float.parseFloat(data[6]))); 
       } 
    }  
    System.out.println(mapp.get(1)); //dont know how to read the  
    }catch(IOException ioe){ioe.printStackTrace();} 

}

誰かが、

おかげで私を助けることができると思います。

+2

あなたは[地図のJavadoc]使用するのでは聞いたことがあります(https://docs.oracle.com/javase/7/docs/api/java/util/Map.html )? 'Map.get(key)'を見てください。 –

+0

また、 'username'を書いていますが、' Username'をチェックしています。 –

答えて

1

ここでは、キーを使用してマップの各値を取得するための1つのソリューションです。

for(Long value: mapp.keySet()){ 
    System.out.println(mapp.get(value)); 
} 

願っています。

0

まず、キーをLongに設定します。Map.get((Object)キー)を使用する場合、値を取得するにはLongを指定する必要があります.1はjvmによってIntegerに変換されると思います値を取得できません。これを試してみて、それが動作するはずです:

mapp.get((long)1) 
関連する問題