반응형
Class Customer (개념설명 이용하기위한 코딩)
package com.company;
public class Customer {
private String name;
private double balance;
//constructor
public Customer(String name, double balance) {
this.name = name;
this.balance = balance;
}
//getter
public String getName() {
return name;
}
public double getBalance() {
return balance;
}
//setter
public void setName(String name) {
this.name = name;
}
public void setBalance(double balance) {
this.balance = balance;
}
}
ArrayList 코딩- add/ (linkedList 와 비교위한)
package com.company;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
// write your code here
Customer customer = new Customer("Tim", 54.96); //object - call constructor
Customer anotherCustomer; //second object
anotherCustomer = customer;
anotherCustomer.setBalance(12.18);
System.out.println("Balance for customer" + customer.getName()+"is"+customer.getBalance());
//결과값 : Tim is 12.18 > 동일 메모리에 두개의 object 인거니.
//ArrayList 정의해보자 (LinkedList와 비교위해)
ArrayList<Integer> intList = new ArrayList<>();
intList.add(1);
intList.add(3);
intList.add(4);
for(int i=0; i<intList.size(); i++ ){ //i = index
System.out.println(i+":"+intList.get(i));
}
//output (index: value)
// 0:1
// 1: 3
// 2: 4
intList.add(1,2); //index 1에 element 2넣기
for(int i=0; i<intList.size(); i++){
System.out.println(i+":"+intList.get(i));
}
//output
// 0:1
// 1: 3
// 2: 4
// 0: 1
// 1: 2 // >index1에 2추가되고 다른값들은 뒤로 밀림.
// 2: 3 //모든 position이동시켜야해서 data 많은경우 process 많이 느림.
// 3: 4
}
}
LinkedList 개념
package com.company;
import java.util.Iterator;
import java.util.LinkedList;
public class Demo {
//linkedList 정의해보자 (ArrayList와 달리 add,remove위해 걍 point to만 바꾸면 됨.)
public static void main(String[] args) {
LinkedList<String> placesToVisit = new LinkedList<String>(); //정의
placesToVisit.add("Sydney"); // 값 추가
placesToVisit.add("Melbourne");
placesToVisit.add("Brisbane");
placesToVisit.add("Perth");
placesToVisit.add("Canberra");
placesToVisit.add("Adelaide");
printList(placesToVisit); //method
}
//iterator 반복문 이용해서 출력
private static void printList(LinkedList<String> linkedList){
Iterator<String> i =linkedList.iterator(); //linkedList의 기능 iterator 설정
while(i.hasNext()){ //hasNext : 다음데이터 존재 여부
System.out.println("Now visiting "+i.next()); //next:현재요소 + i++; 기능
}
System.out.println("================");
}
}
Output
D:\IT\JDK\jdk11.0.6_10\bin\java.exe "-javaagent:D:\IT\IDEA\IntelliJ IDEA Community Edition 2020.1\lib\idea_rt.jar=49739:D:\IT\IDEA\IntelliJ IDEA Community Edition 2020.1\bin" -Dfile.encoding=UTF-8 -classpath D:\IT\NewProject\LinkedList\out\production\LinkedList com.company.Demo
Now visitingSydney
Now visitingMelbourne
Now visitingBrisbane
Now visitingPerth
Now visitingCanberra
Now visitingAdelaide
================
Process finished with exit code 0
LinkedList - add/remove 기능
package com.company;
import java.util.Iterator;
import java.util.LinkedList;
public class Demo {
//linkedList 정의해보자 (ArrayList와 달리 add,remove위해 걍 point to만 바꾸면 됨.)
public static void main(String[] args) {
LinkedList<String> placesToVisit = new LinkedList<String>(); //정의
placesToVisit.add("Sydney"); // 값 추가
placesToVisit.add("Melbourne");
placesToVisit.add("Brisbane");
placesToVisit.add("Perth");
placesToVisit.add("Canberra");
placesToVisit.add("Adelaide");
printList(placesToVisit); //method
placesToVisit.add(1,"Alice Springs"); // add / index 1 에 추가
printList(placesToVisit);
placesToVisit.remove(4); //remove /index 4 지우기.
printList(placesToVisit);
}
//iterator 반복문 이용해서 출력
private static void printList(LinkedList<String> linkedList){
Iterator<String> i =linkedList.iterator(); //linkedList의 기능 iterator 설정
while(i.hasNext()){ //hasNext : 다음데이터 존재 여부
System.out.println("Now visiting "+i.next()); //next:현재요소 + i++; 기능
}
System.out.println("================");
}
}
//>> outPut index 1에 값 추가되고 다음값을 차례대로 나옴.
// Sydney가 Alice Spring을 point to 하고
//Alice Spring이 Melbourne을 point to 하는 개념임.(system이 automatically)
// point to만 바꾸면 되는지라 data 많아도 process 금방 처리 됨.
//(참고로 ArrayList는 index 값 한개 한개 position을 뒤로 이동시키는 개념.)
Output
D:\IT\JDK\jdk11.0.6_10\bin\java.exe "-javaagent:D:\IT\IDEA\IntelliJ IDEA Community Edition 2020.1\lib\idea_rt.jar=49966:D:\IT\IDEA\IntelliJ IDEA Community Edition 2020.1\bin" -Dfile.encoding=UTF-8 -classpath D:\IT\NewProject\LinkedList\out\production\LinkedList com.company.Demo
Now visiting Sydney
Now visiting Melbourne
Now visiting Brisbane
Now visiting Perth
Now visiting Canberra
Now visiting Adelaide
================
Now visiting Sydney
Now visiting Alice Springs //추가
Now visiting Melbourne
Now visiting Brisbane
Now visiting Perth
Now visiting Canberra
Now visiting Adelaide
================
Now visiting Sydney
Now visiting Alice Springs
Now visiting Melbourne //index 4 brisbane값 지워짐
Now visiting Brisbane
Now visiting Canberra
Now visiting Adelaide
================
Process finished with exit code 0
'JavaCode(review)' 카테고리의 다른 글
Playlist Coding / LinkedList Challenge / toString 이용 (0) | 2020.06.14 |
---|---|
LinkedList 1. alphabetical order(알파벳 순으로 값추가) / 2. visit method - console 이용 case (0) | 2020.06.11 |
Bank Application - Autoboxing & Unboxing Challenge (0) | 2020.06.03 |
mobilePhone contact code. (0) | 2020.05.30 |
GroceryList - String으로 console 입력시 코드 (0) | 2020.05.30 |