22일차 강의 정리
1. ArrayList
소스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | public static void main(String[] args) { //ArrayList //crud ArrayList list; list = new ArrayList(); list.add(1); list.add(2); list.add(3); System.out.println("---------출력1---------"); for (int i = 0; i < list.size(); i++) { System.out.println("list["+i+"]="+list.get(i)); } // System.out.println("---------출력2---------"); // Iterator ite = list.iterator(); // int idx=0; // while(ite.hasNext()){ // System.out.println("list["+(idx++)+"]="+ite.next()); // } ArrayList list2 = (ArrayList) list.clone(); //clone -> return타입이 Object list2.set(1, "이"); list2.addAll(list); //뒤에 list 모두 추가 System.out.println("---------출력3---------"); System.out.println("\"이\"가 있는가?"+list2.contains("이")); //true/false 출력 System.out.println("3의 인덱스번호: "+list2.indexOf(3)); //값이없으면 -1 출력,인덱스번호출력 for (int i = 0; i < list2.size(); i++) { System.out.println("list2["+i+"]="+list2.get(i)); } System.out.println("값\'3\'의 인덱스번호 : "+list2.lastIndexOf(3)); //"3"이 들어있는 인덱스번호 출력 // list2.clear(); System.out.println("list2 가 비어있는가? "+list2.isEmpty()); // list2.remove(1); //인덱스1의 값 삭제 // list2.remove(new Integer(3)); //값이 3 을 삭제 // list2.removeAll(list); //전부삭제 System.out.println("======================================"); Object[] obj = list2.toArray(); for (int i = 0; i < list2.size(); i++) { System.out.println("list2["+i+"]="+list2.get(i)); } // System.out.println("---------출력4---------"); // for (int i = 0; i < obj.length; i++) { // System.out.println(obj[i]); // } System.out.println("---------출력5---------"); ArrayList list3 = new ArrayList(list2); for (int i = 0; i < list3.size(); i++) { System.out.print("list3["+i+"]="+list3.get(i)+" / "); } list3.clear(); }//main end | cs |
결과
2. LinkedList
소스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | public static void main(String[] args) { //LinkedList LinkedList list; list = new LinkedList(); list.add(1); list.add(2); list.add(3); System.out.println(list.get(1)); System.out.println("-------------------------1---"); for(int i=0; i<list.size(); i++){ System.out.println("list["+i+"]="+list.get(i)); } System.out.println("-------------------------2---"); Iterator ite = list.iterator(); int idx =0; while(ite.hasNext()){ System.out.println("list["+(idx++)+"]="+ite.next()); } System.out.println("-------------------------3---"); LinkedList list2 = new LinkedList(list); for(int i=0; i<list2.size(); i++){ System.out.println("list2["+i+"]="+list2.get(i)); } System.out.println("-------------------------4---"); List list3 = (List)list2.clone(); for(int i=0; i<list3.size(); i++){ System.out.println("list3["+i+"]="+list3.get(i)); } } | cs |
결과
3. ArrayList & LinkedList 비교
소스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | public static void main(String[] args) { //ArrayList & LinkedList 비교 ArrayList arr = new ArrayList(); LinkedList link = new LinkedList(); int temp = 100000; //ADD///////////////////////////////////////////////////////////////// Date time1 = new Date(); long start1 = time1.getTime(); //ArrayList 시작 시간 for (int i = 0; i < temp; i++) { arr.add(String.valueOf(i)); } time1 = new Date(); long end1 = time1.getTime(); //ArrayList 종료 시간 System.out.println("ArrayList - add time : "+(end1-start1)+" nanoSec"); Date time2 = new Date(); long start2 = time2.getTime(); //LinkedList 시작 시간 for (int i = 0; i < temp; i++) { link.add(String.valueOf(i)); } time2 = new Date(); long end2 = time2.getTime(); //LinkedList 종료 시간 System.out.println("LinkedList - add time : "+(end2-start2)+" nanoSec"); //GET////////////////////////////////////////////////////////////////// time1 = new Date(); start1 = time1.getTime(); //ArrayList 시작 시간 for (int i = 0; i < temp; i++) { arr.get(i); } time1 = new Date(); end1 = time1.getTime(); //ArrayList 종료 시간 System.out.println("ArrayList - get time : "+(end1-start1)+" nanoSec"); time2 = new Date(); start2 = time2.getTime(); //LinkedList 시작 시간 for (int i = 0; i < temp; i++) { link.get(i); } time2 = new Date(); end2 = time2.getTime(); //LinkedList 종료 시간 System.out.println("LinkedList - get time : "+(end2-start2)+" nanoSec"); }//main end | cs |
결과
'* Programming > JAVA' 카테고리의 다른 글
DAY22 컬렉션프레임워크 Map (0) | 2016.08.03 |
---|---|
DAY22 컬렉션프레임워크 Set (0) | 2016.08.03 |
DAY22 컬렉션프레임워크 Vector (0) | 2016.08.03 |
DAY21 컬렉션 프레임워크 (0) | 2016.08.03 |
DAY21 싱글톤 패턴 (0) | 2016.08.02 |