dictionary - multiple lists into a map -


i had question regarding code below. i'm reading file containing lots of data of stuff irrelevant. data written out on 1 line, cannot use nextline or something.

for each vertex, save relevant information dataperpoint. when go next vertex, want clear list fill new relevant information.

the issue have each time clear dataperpoint, values in map cleared. when try fill it, previous positions in map same values.

how can , make sure each vertex own list?

looking forward suggestions!

    public static map<integer, list<double>> readdata(file f) // throws io exception?  {     // create map store vertex , list relevant information in     list<double> dataperpoint = new arraylist<double>();     map<integer, list<double>> data = new hashmap<>();     // open scanner     try (scanner in = new scanner(f))     {         // make sure correct localization used         in.uselocale(locale.us);          // first 6 integers contain irrelevant information         (int step = 1; step <= 6; step++)         {             in.nextint();         }          // information vertex 0 separately, since has 1 data point less         int vertex = in.nextint();         (int doubleinfo = 1; doubleinfo <= 4; doubleinfo++) // 6 relevant variables          {             dataperpoint.add(in.nextdouble());         }          // irrelevant information         (int irrelevantinfo = 1; irrelevantinfo <= 2; irrelevantinfo++)         {             in.nextint();         }          // opening , closing of time window         dataperpoint.add((double) in.nextint());         dataperpoint.add((double) in.nextint());          data.put(vertex, dataperpoint);          while (in.hasnext()) // think of different statement later         {             dataperpoint = new arraylist<double>();             vertex = in.nextint();              (int doubleinfo = 1; doubleinfo <= 4; doubleinfo++) // 6 relevant variables              {                 dataperpoint.add(in.nextdouble());             }              // irrelevant information             (int irrelevantinfo = 1; irrelevantinfo <= 3; irrelevantinfo++)             {                 in.nextint();             }              // opening , closing of time window             dataperpoint.add((double) in.nextint());             dataperpoint.add((double) in.nextint());              data.put(vertex, dataperpoint);         }         in.close();     }     catch (filenotfoundexception e)     {         e.printstacktrace();     } 

use linkedhashmap<> instead of hashmap<> should solve problem. read difference between hashmap, linkedhashmap , treemap


Comments

Popular posts from this blog

javascript - Laravel datatable invalid JSON response -

java - Exception in thread "main" org.springframework.context.ApplicationContextException: Unable to start embedded container; -

sql server 2008 - My Sql Code Get An Error Of Msg 245, Level 16, State 1, Line 1 Conversion failed when converting the varchar value '8:45 AM' to data type int -