배열을 여러 번 만들어야하는 이유는 무엇입니까?

모피

이 프로그램은 소스 목록을 쌍으로 섞습니다. 그래서 그 원래 목록

"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13 ","14 ","15 ","16 ","17 ","18 ","19 ","20 "

trasfoms to

11 ^ 12 19 ^ 20 17 ^ 18 15 ^ 16 1 ^ 2 5 ^ 6 3 ^ 4 13 ^ 14 7 ^ 8 9 ^ 10

위의 내용은 주석 처리 된 줄이 주석 처리되지 않은 상태입니다. 이제 A 행 이 주석 처리 되면 shuffleList의 모든 요소는 19^20입니다.

public class ShuffleService {

public static void shuffleList(List<String> list) {

    System.out.println(list);

    ArrayList<String[]> shuffleList = new ArrayList<String[]>(10);
    String[] arr = new String[2];
    boolean flag = false;
    int step = 0;

    for(String s: list){

        if(flag){
            arr[1]=s;
        } else {
            arr[0]=s;
        }

        flag=!flag;
        step++;

        if(step==2){
            shuffleList.add(arr);
            step=0;
            //arr = new String[2]; //**line A**
        }
    }

    Collections.shuffle(shuffleList);

    for(String[] val: shuffleList){
        System.out.print(val[0]);
        System.out.print("^");
        System.out.println(val[1]);
    }


}

public static void main(String[] args) {
        String[] a = new String[]{"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20"};
        List<String> list1 = Arrays.asList(a);
        shuffleList(list1);
    }
}

그렇다면 제대로 작동하려면 프로그램에서 A 행의 주석을 제거해야하는 이유는 무엇입니까?

도적

값을 다시 작성 arr하지 않고 다시 쓸 때 이미 목록에있는 값도 수정해야하기 때문입니다.

목록에 개체를 추가한다고해서 수정이 중단되는 것은 아니며 자체적으로 복사본을 만들지 않습니다. new String[2]루프를 호출 하면 목록에 추가하는 각 쌍에 대해 새 문자열 배열을 효과적으로 구축 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

AutoMapper가 IEnumerable을 여러 번 열거하는 이유는 무엇입니까?

분류에서Dev

Windows 7을 여러 번 재부팅하는 이유는 무엇입니까?

분류에서Dev

사전을 만들 때 데이터가 여러 번 반복되는 이유는 무엇입니까?

분류에서Dev

데이터 프레임의 각 열에 대해 여러 텍스트 파일을 만들고 첫 번째 열을 유지하는 방법은 무엇입니까?

분류에서Dev

이 파이썬 이해가 사용자 입력을 여러 번 반복하는 이유는 무엇입니까?

분류에서Dev

이유는 데이터를 여러 번는 무엇입니까?

분류에서Dev

배열 내에서 동일한 문자열 값을 여러 번 선언하는 방법은 무엇입니까?

분류에서Dev

Array.fill을 여러 번 호출하면 참조되지 않은 배열에 영향을 미치는 이유는 무엇입니까?

분류에서Dev

SAPUI5가 유사한 조각을 여러 번로드하는 이유는 무엇입니까?

분류에서Dev

이 코드에서 처음으로 삽입 된 값만 여러 번 인쇄하는 대기열 기능을 표시하는 이유는 무엇입니까?

분류에서Dev

한 번이 아닌 여러 번 인쇄하는 이유는 무엇입니까?

분류에서Dev

ActiveRecord :: Relation 배열에 여러 속성을 한 번에 할당하는 방법은 무엇입니까?

분류에서Dev

Javascript 배열을 한 번에 여러 요소로 반복하는 관용적 방법은 무엇입니까?

분류에서Dev

한 번에 여러 "배열"을 필터링하는 방법은 무엇입니까?

분류에서Dev

AWS CDK 앱을 여러 번 배포하는 방법은 무엇입니까?

분류에서Dev

std :: async 작동 방식 : 복사 / 이동을 여러 번 호출하는 이유는 무엇입니까?

분류에서Dev

fork () 프로그램이 때때로 출력을 여러 번 출력하는 이유는 무엇입니까?

분류에서Dev

IE에서 className을 여러 번 선언하면 앱이 중단되는 이유는 무엇입니까?

분류에서Dev

한 번만 호출 할 때 여러 요청을 보내는 이유는 무엇입니까?

분류에서Dev

배열에서 동일한 값을 여러 번 찾는 MongoDB 쿼리의 종류는 무엇입니까?

분류에서Dev

imshow ()를 여러 번 반복하여 100 % 배율을 유지하는 방법은 무엇입니까?

분류에서Dev

한 번에 여러 열을 연결하는 방법은 무엇입니까?

분류에서Dev

Streamlit 응용 프로그램이 여러 번 열리는 이유는 무엇입니까?

분류에서Dev

SGX가 ioctl을 그렇게 여러 번 호출하는 이유는 무엇입니까?

분류에서Dev

이 작업을 실행하려면 '\ n'을 세 번 눌러야하는 이유는 무엇입니까?

분류에서Dev

Webpack을 사용하여 여러 번들 js 파일을 업데이트하는 방법은 무엇입니까?

분류에서Dev

여러 줄을 무시하는 이유는 무엇입니까?

분류에서Dev

여러 줄 문자열의 하위 문자열을 여러 번 반복하는 방법은 무엇입니까?

분류에서Dev

Windows에서 한 번에 여러 프로그램을 제거 할 수없는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    AutoMapper가 IEnumerable을 여러 번 열거하는 이유는 무엇입니까?

  2. 2

    Windows 7을 여러 번 재부팅하는 이유는 무엇입니까?

  3. 3

    사전을 만들 때 데이터가 여러 번 반복되는 이유는 무엇입니까?

  4. 4

    데이터 프레임의 각 열에 대해 여러 텍스트 파일을 만들고 첫 번째 열을 유지하는 방법은 무엇입니까?

  5. 5

    이 파이썬 이해가 사용자 입력을 여러 번 반복하는 이유는 무엇입니까?

  6. 6

    이유는 데이터를 여러 번는 무엇입니까?

  7. 7

    배열 내에서 동일한 문자열 값을 여러 번 선언하는 방법은 무엇입니까?

  8. 8

    Array.fill을 여러 번 호출하면 참조되지 않은 배열에 영향을 미치는 이유는 무엇입니까?

  9. 9

    SAPUI5가 유사한 조각을 여러 번로드하는 이유는 무엇입니까?

  10. 10

    이 코드에서 처음으로 삽입 된 값만 여러 번 인쇄하는 대기열 기능을 표시하는 이유는 무엇입니까?

  11. 11

    한 번이 아닌 여러 번 인쇄하는 이유는 무엇입니까?

  12. 12

    ActiveRecord :: Relation 배열에 여러 속성을 한 번에 할당하는 방법은 무엇입니까?

  13. 13

    Javascript 배열을 한 번에 여러 요소로 반복하는 관용적 방법은 무엇입니까?

  14. 14

    한 번에 여러 "배열"을 필터링하는 방법은 무엇입니까?

  15. 15

    AWS CDK 앱을 여러 번 배포하는 방법은 무엇입니까?

  16. 16

    std :: async 작동 방식 : 복사 / 이동을 여러 번 호출하는 이유는 무엇입니까?

  17. 17

    fork () 프로그램이 때때로 출력을 여러 번 출력하는 이유는 무엇입니까?

  18. 18

    IE에서 className을 여러 번 선언하면 앱이 중단되는 이유는 무엇입니까?

  19. 19

    한 번만 호출 할 때 여러 요청을 보내는 이유는 무엇입니까?

  20. 20

    배열에서 동일한 값을 여러 번 찾는 MongoDB 쿼리의 종류는 무엇입니까?

  21. 21

    imshow ()를 여러 번 반복하여 100 % 배율을 유지하는 방법은 무엇입니까?

  22. 22

    한 번에 여러 열을 연결하는 방법은 무엇입니까?

  23. 23

    Streamlit 응용 프로그램이 여러 번 열리는 이유는 무엇입니까?

  24. 24

    SGX가 ioctl을 그렇게 여러 번 호출하는 이유는 무엇입니까?

  25. 25

    이 작업을 실행하려면 '\ n'을 세 번 눌러야하는 이유는 무엇입니까?

  26. 26

    Webpack을 사용하여 여러 번들 js 파일을 업데이트하는 방법은 무엇입니까?

  27. 27

    여러 줄을 무시하는 이유는 무엇입니까?

  28. 28

    여러 줄 문자열의 하위 문자열을 여러 번 반복하는 방법은 무엇입니까?

  29. 29

    Windows에서 한 번에 여러 프로그램을 제거 할 수없는 이유는 무엇입니까?

뜨겁다태그

보관