-2

I am getting java.lang.NullPointerException can anyone please help me out? I am a beginner in java.

public class HelloComplex {

    public static String[] vehicles = {"Car","Bus","Auto"};

    public static String[][] drivers = {
        {"Richa","Preeti","Bhawna","Vishakha"},
        {"Rishabh","Shahrukh","Shubham"},
        {"Antriksh","Ashwani","Navneet"}
        };

    public static void main(String[] args) {

        Map<String, Set<String>> map = new HashMap<String, Set<String>>();

        for(int i =0 ; i<vehicles.length; i++){

            String vehicle = vehicles[i];
            String[] driversList = drivers[i];

            Set<String> driverSet = new LinkedHashSet<String>();

            for( String driver : driversList){
                driverSet.add(driver);
            }

            map.put(vehicle, driverSet);
        }

            Set<String> driversList = map.get("helicopter");// here i am getting

            for(String driver : driversList){
                System.out.println(driver);
            }
    }

}
Shiro
  • 2,610
  • 2
  • 20
  • 36
  • 2
    So start by looking at the code at line 37 to work out why it is throwing the exception! – Stephen C Aug 05 '16 at 11:01
  • I don't think you are getting the exception on the line you indicate. You'd get it on the `for (String driver : driversList){` lines. – Andy Turner Aug 05 '16 at 11:04

1 Answers1

1
Set<String> driversList = map.get("helicopter");

map.get("helicopter") is not returning anything, because your map does not contain any helicopter as a key.

use an existing key like:

Set<String> driversList = map.get("Car");

and check for driversList if it's null and if it contains element or not:

if (driversList != null && driversList.size()>0)
    for(String driver : driversList){
                System.out.println(driver);
            }
}
Elgayed
  • 1,129
  • 9
  • 16