Java Java에서 2D 배열의 행을 섞는 방법은 무엇입니까?

Java에서 2D 배열의 행을 섞는 방법은 무엇입니까?

Feb 09, 2024 pm 04:15 PM

Java에서 2차원 배열의 행을 스크램블하는 방법은 무엇인가요? 많은 개발자들이 자주 겪는 문제입니다. Collections 클래스의 shuffle() 메서드를 사용하면 2차원 배열의 행을 섞을 수 있습니다. 이 메서드는 컬렉션의 요소 순서를 무작위로 섞을 수 있습니다. 먼저 2차원 배열을 List 형식으로 변환한 후 shuffle() 메서드를 사용하여 목록을 무작위로 정렬해야 합니다. 마지막으로 목록을 다시 2차원 배열로 변환하면 행 섞기가 완료됩니다. 이 방법은 간단하고 구현하기 쉬우며 2차원 배열의 행을 효과적으로 스크램블할 수 있으며 개발자에게 보다 유연한 데이터 처리 방법을 제공합니다.

질문 내용

CSV 파일을 읽고 데이터 전처리를 수행하는 코드를 작성했는데 순서는 변경할 수 없지만 열 대신 2D 배열의 행을 섞어야 합니다.

제가 겪고 있는 문제는 2D 배열의 행과 열이 뒤섞여 있다는 것인데 어떻게 해결해야 할지 모르겠습니다.

으아악

보시다시피 다른 방법도 있지만 이 shuffle2darray() 방법만 제대로 작동합니다.

이 방법으로 데이터를 무작위로 10개로 분할하여 10개의 교차 검증을 수행할 수 있습니다

코드에 인쇄 문을 삽입하고 셔플을 시도하기 전후에 2D 배열을 확인한 다음 csv 파일을 확인하여 행의 순서가 올바른지 확인했습니다.

다음은 필터링 전의 작은 예입니다.

cpi_9606.ensp00000000233cpi_9606.ensp00000000412cpi_9606.ensp00000000442cpi_9606.ensp00000001008cpi_9606.ensp00000001146cpi_9606.ensp00000002165cpi_9606.ensp00000002829cpi_9606.ensp00000003084cpi_9606.ensp0000000310000000000000000000000000000180
열을 필터링하고 섞은 후:

cpi_9606.ENSP00000000442cpi_9606.ENSP00000001008cpi_9606.ENSP00000003084cpi_9606.ENSP00000003100cpi_9606.ENSP00000005178cpi_9606.ENSP00000011292cpi_9606.ENSP00000011653cpi_9606.ENSP00000012443cpi_9606.ENSP00000013034cpi_9606.ENSP000000149300900000900000900000009289003383222360000000
해결 방법

코드 조각에 핵심 요소인 정렬할 배열이 포함되지 않았습니다.

어둠 속에서 열심히 시도해 보면 다음과 같을 것 같아요:

으아악

셔플하려면 라이너입니다. 자신이 소유한 모든 코드를 다른 사람에게 양도할 수 있습니다:

으아악

그렇다면 이것이 왜 작동하는 걸까요?

2차원 배열이라는 것이 없거든요. java에는 전혀 없습니다.

당신이 소유한 것

. int[][] allfeatures 不是二维数组。它是一个一维数组,其组件类型为 int 数组。因此, arrays.aslist(allfeatures) 非常好,因为您有一个对象数组(不是基元) - 每个对象都是一个 int 数组。该表达式的类型为 list<int[]>

지원되는 작업이 매우 좋습니다. arrays.aslist 返回一个仍然由底层数组支持的列表。因此, .set() 有效,但 .add() 无效(因为数组可以更改其元素,但不能增长或缩小)。 collections.shuffle 可以打乱任何列表,并且仅使用 .set.get 来执行此操作: arrays.aslist

이 모든 것의 결과는 이것이 자체적으로 크기가 조정된다는 것입니다

. allfeatures

변경하지 않고

을 유지하려면 먼저 복제하세요. allfeatures 으아악

위 내용은 Java에서 2D 배열의 행을 섞는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)