개발일기/팀스터디 및 프로젝트+면접 질응답 정리
코드의 중복성 제거하여 개선해보기
민장미
2023. 4. 27. 19:12
아래의 코드의 중복을 제거하여, 최대한 간결하게 개선해보기
package ex1;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Scanner;
//LinkedList와 ArrayList의 속도 체크 비교하기
public class Ex2_LinkedListArrayList {
public void arrayList(ArrayList<String> ar) {
long start = System.currentTimeMillis();
for (String e : ar) {
String msg = e;
if (e.equals("Kosmo132")) {
}
}
long end = System.currentTimeMillis();
System.out.println("소요시간 :" + (end - start));
}
public void linkedList(LinkedList<String> ar) {
long start = System.currentTimeMillis();
for (String e : ar) {
String msg = e;
if (e.equals("Kosmo132")) {
}
}
long end = System.currentTimeMillis();
System.out.println("소요시간 :" + (end - start));
}
public static void main(String[] args) {
Ex2_LinkedListArrayList ref = new Ex2_LinkedListArrayList();
// 더미 데이터를 사용해서 각각의 메서드에게 데이터를 주입
ArrayList<String> ar1 = new ArrayList<String>();
LinkedList<String> ar2 = new LinkedList<String>();
Scanner sc = new Scanner(System.in);
System.out.print("1-ArrayList, 2-LinkedList :");
int menu = Integer.parseInt(sc.nextLine());
if (menu == 1) {
// 소요시간 :106
for (int i = 0; i < 100000000; i++) {
if(i % 5 == 0) {
ar1.add("Kosmo132");
}else {
ar1.add("Java");
}
}
//test
ref.arrayList(ar1);
} else if (menu == 2) {
//소요시간 :495
for (int i = 0; i < 100000000; i++) {
if(i % 5 == 0) {
ar2.add("Kosmo132");
}else {
ar2.add("Java");
}
}
//test
ref.linkedList(ar2);
}
}
}
이리저리 해보다가 오류 났고...
팀에서 잘하시는 분 코드를 잠깐 보고 어떤 식으로 작성했는지 본 다음
안 보고 끝까지 해봤음 완성했다!!
package teamfinal;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
// 중복성을 제거하여 수정하여 보자.
public class Ex2_LinkedListArrayList {
public void test(int menu) {
List<String> list = null;
// 메뉴 선택에 따른 각 객체 생성
if (menu == 1) {
list = new ArrayList<>();
} else if (menu == 2) {
list = new LinkedList<>();
}
for (int i = 0; i < 100000000; i++) {
if (i % 5 == 0) {
list.add("Kosmo132");
} else {
list.add("Java");
}
} // for
long start = System.currentTimeMillis();
for (String e : list) {
String msg = e;
if (e.equals("Kosmo132")) {
}
}
long end = System.currentTimeMillis();
System.out.println("소요시간 :" + (end - start));
}// test
public static void main(String[] args) {
Ex2_LinkedListArrayList ref = new Ex2_LinkedListArrayList();
Scanner sc = new Scanner(System.in);
System.out.print("1-ArrayList, 2-LinkedList :");
int menu = Integer.parseInt(sc.nextLine());
ref.test(menu);
}// main
}// pu clas
아직 메인에 최대한 간결하게 작성하는게 잘 안된다 ㅠㅠ