program story

Java에서 이미 초기화 된 배열 목록에 여러 항목 추가

inputbox 2020. 11. 24. 07:58
반응형

Java에서 이미 초기화 된 배열 목록에 여러 항목 추가


인터넷 검색 중이며 구문을 찾을 수없는 것 같습니다. 내이 arraylist내가 그것을 초기화했습니다 있도록 채워 다르게, 사용자의 설정에 따라 수 있습니다

ArrayList<Integer> arList = new ArrayList<Integer>();

그리고 이제는 하나 하나하지 않고 수백 개의 정수를 더하고 싶습니다. arList.add(55);


추가하려는 모든 항목이 포함 된 다른 목록이 있으면 할 수 있습니다 arList.addAll(otherList). 또는 항상 동일한 요소를 목록에 추가하는 경우 모든 값을 포함하도록 초기화 된 새 목록을 만들고 addAll()다음과 같은 방법으로 메서드를 사용할 수 있습니다.

Integer[] otherList = new Integer[] {1, 2, 3, 4, 5};
arList.addAll(Arrays.asList(otherList));

또는 불필요한 배열을 만들고 싶지 않은 경우 :

arList.addAll(Arrays.asList(1, 2, 3, 4, 5));

그렇지 않으면 목록에 개별적으로 값을 추가하는 일종의 루프가 있어야합니다.


그 정수의 "원본"은 무엇입니까? 소스 코드에 하드 코딩해야하는 경우 다음을 수행 할 수 있습니다.

arList.addAll(Arrays.asList(1,1,2,3,5,8,13,21));

Collections.addAll 하나의 명령문으로 컬렉션에 원하는 수의 항목을 추가 할 수있는 varargs 메서드입니다.

List<Integer> list = new ArrayList<>();
Collections.addAll(list, 1, 2, 3, 4, 5);

컬렉션에 배열 요소를 추가하는데도 사용할 수 있습니다.

Integer[] arr = ...;
Collections.addAll(list, arr);

공간을 절약하기 위해 여러 코드 줄을 피하려는 경우 다음 구문이 유용 할 수 있습니다.

        java.util.ArrayList lisFieldNames = new ArrayList() {
            {
                add("value1"); 
                add("value2");
            }
        };

새 줄을 제거하면 다음과 같이 압축되어 표시 할 수 있습니다.

        java.util.ArrayList lisFieldNames = new ArrayList() {
            {
                add("value1"); add("value2"); (...);
            }
        };

많은 정수를 추가해야한다면 for 루프를 사용하는 것이 가장 쉬울 것입니다. 예를 들어 daysInFebruary 배열에 28 일을 추가합니다.

ArrayList<Integer> daysInFebruary = new ArrayList<>();

for(int i = 1; i <= 28; i++) {
    daysInFebruary.add(i);
}

위의 대답이 잘못되었다고 생각합니다. 여러 값으로 초기화하는 적절한 방법은 다음과 같습니다.

int[] otherList ={1,2,3,4,5};

따라서 적절한 초기화에 대한 전체 답변은 다음과 같습니다.

int[] otherList ={1,2,3,4,5};
arList.addAll(Arrays.asList(otherList));

참고 URL : https://stackoverflow.com/questions/15213974/add-multiple-items-to-already-initialized-arraylist-in-java

반응형