리스트를 초기화 할 때, 모두 같은 값으로 초기화 해야 하는 경우가 많습니다. 예를 들어 60개의 원소를 모두 0으로 초기화 하거나, 혹은 -1로 초기화 하는 것이 이에 속합니다. c++에서는 vector의 resize를 이용하면 매우 손쉽게 할 수 있었는데, 자바는 아니였습니다. 간단하게 하는 방법 중 하나는, 콜렉션의 nCopies의 힘을 빌리면 됩니다. 위 그림을 보시면, Collections.nCopies 메서드를 썼음을 알 수 있는데요. 1번째 인자인 n은 갯수를 의미합니다. 예를 들어 60개의 원소를 0으로 초기화 하고 싶다면 1번째 인자에는 60을 넣으면 됩니다. 2번째 인자에는 당연하게도, 0을 넣어주시면 됩니다. 당연한 이야기일지도 모르겠지만, Boxing 객체가 아닌 다른 객체를 nCo..
초기화 검색 결과
해당 글 2건
java collections ncopies : 리스트를 초기화 할 때 이용할 만 하다.
레퍼런스/분석
2021. 6. 14. 19:02
파이썬 2차원 배열 초기화 : 얕은 복사만 조심하면 된다.
파이선에서 n차원 배열을 초기화 할 일은 꽤 많습니다. 어제도 그러한 코드를 작성했거든요. n = 2일 때만 작성해 보도록 하겠습니다. n > 2이상일 때는 2일 때만 잘 응용하면 되기 때문입니다. 어떻게 해야 하는지 예제 코드들을 보도록 하겠습니다. 요구 사항은 int형 Object를 저장할 2차원 배열을 만들라는 것입니다. 저는 9x9짜리 배열을 만들었습니다. 그런데, 이 코드는 어떻게 동작할까요? 저는 2번째 줄에서 arr[0][0]만 1로 바꾸었습니다. 그런데, arr[0][0]과 arr[1][0]을 출력해 보니, 둘 다 1이 나왔습니다. 왜 그럴까요? 어디선가 주소값만 복사되는 얕은 복사가 일어났기 때문입니다. python에서 id는 해당 객체의 값을 얻어오는 코드입니다. 9개의 루프를 돌면서 ..
코딩/파이선
2020. 11. 28. 21:00
최근댓글