๊ฐ์ธ ๊ณผ์ ํผ๋๋ฐฑ
๊ฐ์ธ ๊ณผ์ ํผ๋๋ฐฑ์ ๋ฐ๊ณ ์์ ๋์ !
๊ทธ ์์ค์
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:161)
์๋ฌ ๋ฐ์!
๋ฉ๋ด ์ญ์ ๊ธฐ๋ฅ์์ ๋ฐ์ํ๋๋ฐ, ๊ฐ ๋ฉ๋ด๋ฅผ ๋๋ฉด์ ์ผ์นํ๋ ๊ฐ์ด ๋ฐ๊ฒฌํ๋ฉด removeํจ์๋ก ์ ๊ฑฐํ๋ ๋ถ๋ถ์ด์๋ค.
items.forEach((key, value) -> {
for (int i = 0; i < value.size(); i++) {
if (value.get(i).getIndex() == id) {
value.remove(i);
break;
}
}
});
์์ธ์ ์ฐพ๋ค๋ณด๋, ๋งจ ์ฒ์์ ๊ฐ์ initํด์ฃผ๋ ๋ถ๋ถ์์ ํธํ๊ฒ ํ๋ ค๊ณ
List<Menu> mainMenus = Arrays.asList(
new Menu("Burgers", "์ต๊ฑฐ์ค ๋นํ ํต์ด์ ๋ค์ ธ ๋ง๋ ๋ฒ๊ฑฐ"),
new Menu("Frozen Custard", "๋งค์ฅ์์ ์ ์ ํ๊ฒ ๋ง๋๋ ์์ด์คํฌ๋ฆผ"),
new Menu("Drinks", "๋งค์ฅ์์ ์ง์ ๋ง๋๋ ์๋ฃ"),
new Menu("Beer", "๋ด์ ๋ธ๋ฃจํด๋ฆฐ ๋ธ๋ฃจ์ด๋ฆฌ์์ ์์กฐํ ๋งฅ์ฃผ")
);
์ด๋ ๊ฒ ์์ฑํ๋๋ฐ, Arrays.asList๋ฅผ ์ฐพ์๊ฐ๋ณด๋ฉด Arrays.java ์์ ArrayList๊ฐ ๊ตฌํ๋์ด ์๋ค. ์ฆ, java.util.ArrayList์ java.util.arrays.ArrayList๋ก ๋ค๋ฅด๊ฒ ๊ตฌํ๋์ด ์๋ ๊ฒ์ด ๋ฌธ์ ์๋ค. java.util.ArrayList
์ ๋ค๋ฅด๊ฒ java.util.arrays.ArrayList
์์๋ remove ํจ์๊ฐ ๊ตฌํ๋์ด ์์ง ์์ ์์ธ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ด๋ค!!
* Returns a fixed-size list backed by the specified array.
Arrays.asList()๋ ์์ ์ฃผ์์ฒ๋ผ ๊ณ ์ ๋ ์ฌ์ด์ฆ์ด๋ฏ๋ก, remove๋ add ์ฒ๋ผ ์ฌ์ด์ฆ๊ฐ ๋ณํ๋ ๊ฒฝ์ฐ์๋ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค!
๊ทธ๋์ ์์ ์ฝ๋๋ฅผ
List<Menu> mainMenus = new ArrayList<>(Arrays.asList(
new Menu("Burgers", "์ต๊ฑฐ์ค ๋นํ ํต์ด์ ๋ค์ ธ ๋ง๋ ๋ฒ๊ฑฐ"),
new Menu("Frozen Custard", "๋งค์ฅ์์ ์ ์ ํ๊ฒ ๋ง๋๋ ์์ด์คํฌ๋ฆผ"),
new Menu("Drinks", "๋งค์ฅ์์ ์ง์ ๋ง๋๋ ์๋ฃ"),
new Menu("Beer", "๋ด์ ๋ธ๋ฃจํด๋ฆฐ ๋ธ๋ฃจ์ด๋ฆฌ์์ ์์กฐํ ๋งฅ์ฃผ")
));
์ด๋ ๊ฒ ArrayList๋ก ๊ฐ์ธ์ฃผ์ ์์ธ์์ด ์ ์ํ๋๋ฐ!!!!!
๋ญ๊ฐ ํธ์์ฑ์ ์ํด ์ฌ์ฉํ๋๋ฐ, ์์ธํ ์ ์๊ณ ์ฐ์ง ์์ผ๋ฉด ์ฌ๊ธฐ์ ๊ธฐ์ ์์ธ, ์๋ฌ๊ฐ ์๊ธฐ๋ ๊ฑฐ ๊ฐ๋ค......
'TIL๐ฅ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
23.11.01 TIL (0) | 2023.11.01 |
---|---|
23.10.31 TIL (0) | 2023.10.31 |
23.10.25 TIL (0) | 2023.10.25 |
23.10.24 TIL (0) | 2023.10.24 |
23.10.23 TIL (0) | 2023.10.23 |