private boolean hasType(ArrayList<PersonDTO> datas, String type) {
for(int i=0;i<datas.size();i++) {
//배열 데이터만큼 돌면서
if(datas.get(i).getType().equals(type)) {
//타입과 똑같은걸 찾으면
return true; //true 반환해
}
}
return false //못찾으면 false 반환해
datas 배열에 type이 있니?
(=특정 DB에 그 값이 있니?)
를 물어보는 코딩이다.
첫번째 인자에는 물어봐야할 배열을 입력하고
두번째 인자에는 찾아야하는 value를 입력한다.
이러한 로직을 쓰면 중복값을 거르기 좋다.
▼hasType메서드를 활용한 호출 코드
else if(personDTO.getCondition().equals("MENU")) {
for(int i=0;i<this.datas.size();i++) {
if(!hasType(datas, this.datas.get(i).getType())) {
PersonDTO data = new PersonDTO();
data.setType(this.datas.get(i).getType());
datas.add(data);
이러한 로직을 따로 메서드를 쓰지 않고
기존 프레임워크를 사용한다면?
Set과 Iterator 조합으로 해결할 수 있다.
Set<String> set = new HashSet<>();
for(int i=0;i<this.datass.size();i++){
set.add(this.datas.get(i).getType());
}
//중복값을 거른 Set
//걸러진 Set값 정보를 담는 Iterator
Iterator itr = set.iterator();
while(itr.hasNext()){
PersonDTO data = new PersonDTO();
//따따배생성
data.setType((String)itr.next());
//따따배에 다운캐스팅된 정보 담기
datas.add(data);//배열에 data 추가
}
//Set에는 순서가 없기 때문에
//Iterator가 페어로 따라오면 좋다.'개주 훈련일지 > 🏋️ 전집중 호흡 훈련' 카테고리의 다른 글
| 정규식 (0) | 2025.11.07 |
|---|---|
| JDBC) CRUD 메서드 정석 코드 (0) | 2025.11.03 |
| Java에서 txt 파일 읽기, 복사하기, 저장하기 (0) | 2025.10.25 |
| 줄바꿈을 입력하는 방법 (0) | 2025.10.24 |
| 코드 응집도는 높이고 결합도는 낮춰라! (0) | 2025.10.24 |