320x100
java는 여전히, "작성 된" 코드를 보면, 무슨 내용인지 "추측"은 가능 하지만,
내가 작성 하라면, 진짜 기초 중의 기초 루틴 public ~ 하고 출력하는 것 외에는 아직
너무 모자란 것 같다.
알고리즘도 배우면서, java 기초도 분명히 해야겠다.
// import java.util.Arrays;
// import java.util.HashSet;
import java.util.ArrayList;
// ArrayList
class MySet {
ArrayList<Integer> list;
// 생성자1
// 객체
MySet() {
this.list = new ArrayList<Integer>();
}
// 생성자2
// 데이터를 담게되는 생성자
MySet(int[] arr) {
this.list = new ArrayList<Integer>();
for (int item : arr) {
this.list.add(item);
}
}
// 원소 추가 (중복 x)
public void add(int x) {
for (int item : this.list) {
if (item == x) {
return;
}
}
this.list.add(x);
}
// 교집합
public MySet retainAll(MySet b) {
MySet result = new MySet();
for (int itemA : this.list) {
for (int itemB : b.list) {
if (itemA == itemB) {
result.add(itemA);
}
}
}
return result;
}
// 합집합
public MySet addAll(MySet b) {
MySet result = new MySet();
for (int itemA : this.list) {
result.add(itemA);
}
for (int itemB : b.list) {
result.add(itemB);
}
return result;
}
// 차집합
public MySet removeAll(MySet b) {
MySet result = new MySet();
for (int itemA : this.list) {
boolean containFlag = false;
for (int itemB : b.list) {
if (itemA == itemB) {
containFlag = true;
break;
}
}
if (!containFlag) {
result.add(itemA);
}
}
return result;
}
}
public class Main {
public static void main(String[] args) {
MySet a = new MySet();
a.add(1);
a.add(1);
a.add(1);
System.out.println(a.list);
a.add(2);
a.add(3);
System.out.println(a.list);
a = new MySet(new int[]{1, 2, 3, 4, 5});
MySet b = new MySet(new int[]{2, 4, 6, 8, 10});
System.out.println("a: " + a.list);
System.out.println("b: " + b.list);
MySet result = a.retainAll(b);
System.out.println("교집합: " + result.list);
result = a.addAll(b);
System.out.println("합집합: " + result.list);
result = a.removeAll(b);
System.out.println("차집합: " + result.list);
}
}
300x250
'개발일지 > 임시카테고리' 카테고리의 다른 글
배포 실패 후 중간점검 (1) | 2025.01.03 |
---|---|
django 배포 실패기 (2) | 2025.01.03 |
git push, git clone 무반응 증상 해결 완료 (0) | 2024.12.29 |
Java - HashSet, ArrayList 및 집합, 합집합, 교집합, 차집합 등 집합개념 (2) | 2024.12.27 |
무언가 빛을 본다는 시간 (0) | 2024.12.27 |