java for 루프를 사용할 때 루프 본문의 길이를 늘리는 것이 좋지 않은가요?
某草草
某草草 2017-06-28 09:23:52
0
7
871
으아아아

예를 들어 위 코드에서 for 루프의 두 번째 수준을 입력하지 않으면 목록에 추가 작업을 수행하게 됩니다. 첫 번째 for 루프 본문에서 내가 작업하는 것은 두 번째 for 루프의 size()이기 때문에 여기서는 문제가 없어야 합니다. for(){...} for in의 size()를 직접 조작했던 상황이 기억나는데... 처음에는 뭔가 방법이 있을 것 같았는데 잘 생각이 나지 않습니다. 당분간은 기억을 되새길 수 있게 도와줄 수 있는 스승이 있나요? ?

某草草
某草草

모든 응답(7)
过去多啦不再A梦

for(:){},用 for(int i = 0; i < list.size(); i++) 사용하지 마세요. 무한 루프가 생기지 않도록 주의하세요

大家讲道理

코드의 for Each, 즉 for(a:as) 루프에서는 루프된 컬렉션을 추가하거나 삭제할 수 없습니다. 그렇지 않으면 ConcurrentModificationException이 보고됩니다.
이 코드에는 문제가 없습니다. 목록을 변경하는 모든 작업은 내부 루프 외부에서 수행되기 때문입니다.

귀하의 필요에 따라 실제로 각 도시의 데이터를 지방별로 계산하는 것입니다. Java 8을 사용할 수 있는 조건이 있다면 Stream의 GroupBy 메소드를 살펴보세요. 코드를 크게 단순화할 수 있습니다.

관련되지 않은 일부 문제의 경우 목록을 설정하는 set 방법이 적합하지 않습니다.

  • 비즈니스 로직이 포함된 객체라면 내부 구조를 패키징하여 비즈니스 도메인 개념에 따른 인터페이스를 제공해야 하며, 내부 컬렉션이 직접 노출되어서는 안 됩니다.

  • 데이터 전송 객체라 하더라도 collection 속성의 set 메소드를 제공하면 안 됩니다. 일반적으로 개인 컬렉션 변수의 수명 주기는 상위 개체에 의해 관리되어야 합니다. 외부 세계는 외부 포장 개체의 추가 또는 제거 방법을 통해 개인 컬렉션을 운영합니다. 필요한 경우 컬렉션 가져오기 메서드를 제공합니다. 복사할지 아니면 불변으로 만들 것인지 고려해야 합니다.

曾经蜡笔没有小新

foreach에서는 목록(추가, 제거 등)을 조작할 수 없습니다

伊谢尔伦

2단계 루프에서 직접 벗어나려면 다음 두 가지 방법밖에 없습니다.

  1. break label 구문을 사용하세요(이전에는 사용한 적이 없습니다. Google에서 검색하실 수 있습니다).

  2. 이것이 당신이 사용하는 방법입니다. 플래그를 설정하세요.
  3. 그리고,
.

世界只因有你

글을 쓰려면 멀었습니다. 내 말은 다음과 같이 기록됩니다:

으아악

원래 코드에는 최적화해야 할 여러 영역이 있습니다.

  1. 이중 루프를 피하려고 노력하세요. 내부 루프는 일반적으로 추출되어야 합니다.

  2. 동일한 변수에 대한 연산의 경우, 더 자연스럽게 읽을 수 있도록 코드 줄을 최대한 그룹화해야 합니다.

  3. 변수 이름은 비즈니스 의미와 주요 유형을 반영해야 합니다. 예를 들어 List 개체의 이름은 최대한 xxxList를 사용하여 지정해야 합니다. 나는 당신을 위해 이것을 바꾸기에는 너무 게으르다.
为情所困

무슨 질문인지 이해가 안가네요..못들어가서 그런걸까요?

滿天的星座

질문하기 전에 생각을 정리하세요. 무엇을 묻고 싶으신가요? 당신은 어떤 대답을 듣고 싶나요? 그렇지 않으면 다른 사람들이 당신을 위해 대답할 수 없습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿