从另一个类访问HashMap数据

时间:2018-07-29 14:07:34

标签: java arraylist data-structures hashmap

我有一个类,其中有一个填充的HashMap和ArrayList。我需要从其他类中的HashMap和ArrayList中访问键和值,当我这样做时,程序将返回NULL?

我的HashMap在此类中:

package championsLeagueTeamGenerator;

import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import java.util.Collections;

public class topTier extends GroupStages {

    public static ArrayList <Integer> x = new ArrayList <Integer>();
    public static HashMap <Integer, String> xx = new HashMap();


    public static void firstPot() {

        x.add(1);
        x.add(2);
        x.add(3);
        x.add(4);
        x.add(5);
        x.add(6);
        x.add(7);
        x.add(8);

        Collections.shuffle(x);

        xx.put(x.get(0), "Manchester United");
        xx.put(x.get(1), "Barcelona");
        xx.put(x.get(2), "Real Madrid");
        xx.put(x.get(3), "Paris St Germain");
        xx.put(x.get(4), "Bayern Munich");
        xx.put(x.get(5), "Juventus");
        xx.put(x.get(6), "Chelsea");
        xx.put(x.get(7), "Liverpool");

        System.out.println(xx);

 }

我想在此类中访问它:

package championsLeagueTeamGenerator;

import java.util.HashMap;
import java.util.ArrayList;
import java.util.Collection;

public class GroupStages {

    public static ArrayList <String> groupA = new ArrayList<String>();

    public static void groupOne() {         
        System.out.print(topTier.xx.get(1));        
    }   
}

但是程序返回NULL,为什么呢?

1 个答案:

答案 0 :(得分:0)

您错过了在topTier类中执行firstPot()静态方法的机会。

这将为您提供正确的输出。


public static void groupOne() {

    topTier.firstPot();
    System.out.print(topTier.xx.get(1));

   }