ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 참조자료형 - 리스트(List)
    백엔드/자바 2020. 7. 24. 18:12

    1. 리스트란?

    배열(Array)과 비슷한 자바의 참조 자료형으로 배열보다 편리하다.

     

    배열은 선언 할 때 미리 크기를 지정하고 지정된 크기 한도 내에서만 자료 추가가 가능하다.

     

    하지만 리스트는 메모리가 허용하는 한도 내에서 자동으로 자료 추가 가능하다.

    2. 리스트의 선언

    리스트를 선언은 다음과 같다.

     

    "ArrayList + <자료형> + 리스트명 = new ArrayList + <자료형> + ( ) "의 형태로 해준다.

     

    자료형의 경우 넣지 않아도 되고 넣지 않을 경우 리스트에 다양한 자료형이 추가 가능하다.

     

    import java.util.ArrayList;
    
    public class Basic_07_24_03 {
    
    	public static void main(String[] args) {
        
        	ArrayList<String> school = new ArrayList<String>();
            // Arraylist<자료형> + 리스트명 = new ArrayList<자료형>();
            // 리스트에 들어가는 자료형을 꼭 써야한다.
            // import를 보면 알겠지만, 따로 List를 임포트해줘야 한다.
            
    	}
    
    }
    

     

    단, LinkedList도 존재하는데 이건 나중에 다루도록 할 예정이다.

    3. 리스트의 추가

    리스트는 간단하다. 리스트를 선언한 후에 다음과 같이 하면 된다.

     

    "리스트명 + add + ( 넣고싶은 값 )"의 형태로 한다.

     

    넣고 싶은 값은 위에서 list를 선언할 때 쓴 자료형으로만 사용해야 한다.

     

    단, 자료형을 따로 입력하지 않은 경우 다양한 값을 넣을 수도 있다.

     

    package Basic_07_24;
    
    import java.util.ArrayList;
    
    public class Basic_07_24_03 {
    
    	public static void main(String[] args) {
        
    		ArrayList<String> school = new ArrayList<String>();
            
    		school.add("초등학교");
    		school.add("중학교");
    		school.add("고등학교");
            
    	}
    
    }
    

     

    4. 리스트의 요소 값 얻기

    각 리스트의 요소 값를 얻으려면 get메서드를 통해 얻을 수 있다.

     

    " 리스트명 + . + get ( 인덱스넘버 ) "와 같은 형식으로 얻어낼 수 있다.

     

    package Basic_07_24;
    
    import java.util.ArrayList;
    
    public class Basic_07_24_03 {
    
    	public static void main(String[] args) {
        
    		ArrayList<String> school = new ArrayList<String>();
            
    		school.add("초등학교");
    		school.add("중학교");
    		school.add("고등학교");
    		
    		System.out.println(school.get(0)); // "초등학교" 출력
    		System.out.println(school.get(1)); // "중학교" 출력
    		System.out.println(school.get(2)); // "고등학교" 출력
            
    	}
    
    }
    

     

    5. 리스트의 개수 구하기

    리스트의 개수를 구하기 위해서는 size함수를 쓴다.

     

    " 리스트명 + . + size + ( ) "의 형식으로 쓰면 된다.

     

    package Basic_07_24;
    
    import java.util.ArrayList;
    
    public class Basic_07_24_03 {
    
    	public static void main(String[] args) {
        
    		ArrayList<String> school = new ArrayList<String>();
            
    		school.add("초등학교");
    		school.add("중학교");
    		school.add("고등학교");
    		
    		System.out.println(school.size()); // 3 출력
            
    	}
    
    }
    

     

    6. 리스트 내에 내용 확인

    리스트 내에 어떤 요소가 있는지 확인하려면 contains함수를 쓴다.

     

    " 리스트명 + . + contains + ( ) "의 형식으로 쓰면 된다.

     

    만약 리스트 내에 찾고 싶은 요소가 있으면 True, 아니면 False가 나옵니다.

    package Basic_07_24;
    
    import java.util.ArrayList;
    
    public class Basic_07_24_03 {
    
    	public static void main(String[] args) {
        
    		ArrayList<String> school = new ArrayList<String>();
            
    		school.add("초등학교");
    		school.add("중학교");
    		school.add("고등학교");
            
    		System.out.println(school.contains("중학교")); // True 출력
            
    	}
    
    }
    

     

    7. 리스트 내 요소 삭제하기

    remove함수를 쓰면 리스트 내에 있는 요소를 골라서 삭제할 수 있다.

     

    remove 함수는 인덱스 넘버를 통해서 삭제하거나 값 자체를 입력해서 삭제하는 두 가지 방법이 있다.

     

    " 리스트 명 + remove + ( index넘버 ) " / " 리스트 명 + remove + ( 리스트 요소값 ) " 형식으로 쓴다.

     

    인덱스 넘버로 지우면 인덱스 넘버에 맞는 요소를 리스트 내에서 삭제하고 그 요소를 return 해준다.

     

    요소 값으로 지우면 해당 요소를 지우고 True값을 return 해준다.

     

    만약 삭제하는 요소가 리스트에 없으면 False를 return해준다.

     

    package Basic_07_24;
    
    import java.util.ArrayList;
    
    public class Basic_07_24_03 {
    
    	public static void main(String[] args) {
        
    		ArrayList<String> school = new ArrayList<String>();
            
    		school.add("초등학교");
    		school.add("중학교");
    		school.add("고등학교");
    		
    
    		System.out.println(school.remove(1));
    		System.out.println(school.remove("고등학교"));
    		
    	}
    
    }
    
Designed by Tistory.