I thought ArrayList only registers data in order.
When HashMap with the same key value was registered consecutively, the data registered first were changed to the same data as the last registered data.
As a result of testing this and that, I think it only happens when the key value is the same, but does ArrayList modify the previously registered data if the data with the same key value comes in?
Or do you need other conditions?
The code was roughly like this at that time.
ArrayList<HashMap<String, String>> al = new ArrayList<HashMap<String, String>>();
HashMap<String, String> hm = new HashMap<String, String>();
for (int i=0; i<3 ; i++ )
{
hm.put ("list", i);
aList.add(hm);
System.out.println("aList >>> : " + aList);
}
For your information, I know that you can transfer HashMap = new HashMap(); in the for statement.
What I want to know is that the data registered in the ArrayList is modified due to the data registered later.
arraylist
Well, if you write with the body, you create one hashmap object and save only the same reference three times.
It's easy to understand if you have the concept of a pointer in c/c++. The only way to create on a heap in Java is to use the new operator.
HashMap<String, String> hm = new HashMap<String, String>();
created the object and the hm variable points to it.
aList.add(hm);
to list is a reference that points to an object, not an object. So you put the same object three times.
So how do you put each different object three times?
You can create each object with the number 3 new operator in the for and register it on the list as shown below.
ArrayList<HashMap<String, String>> al = new ArrayList<HashMap<String, String>>();
HashMap<String, String> hm = null;
for (int i=0; i<3 ; i++ )
{
hm = new HashMap<String, String>();
hm.put ("list", i);
aList.add(hm);
System.out.println("aList >>> : " + aList);
}
611 GDB gets version error when attempting to debug with the Presense SDK (IDE)
915 When building Fast API+Uvicorn environment with PyInstaller, console=False results in an error
572 rails db:create error: Could not find mysql2-0.5.4 in any of the sources
© 2024 OneMinuteCode. All rights reserved.