ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Enumeration vs leterator 정리
    Java(자바) 2014. 3. 27. 19:51
    Enumeration

    ● 순서를 가지고 있는 배열의 한 종류다.


    ● 사용범위는 Vector와 Hashtable으로 정해져 있다.


    ● 동작방법은 nextElement()메소드를 만나면 객체를 가져와서 하나의 열거형요소로 생성을 한다.

        그러므로 대용량 데이터에 적합하지 않다.


    ● 객체의 전체 컬렉션의 내용을 하나씩 검사 하는것이 아니라 전체를 한번에 검사하는 것을 의미한다.


    nextElement()는 현재 커서가 가리키고 있는 데이타-객체(Object)를 리턴해주고 커서의 위치를 다음

    칸으로 옮깁니다. 


    커서란 현재의 위치를 가리키고 있는 것인데 최초 0부터 시작합니다.


    hashMoreElement()는 커서 바로 앞에 데이터가 들어있는지를 체크하는 것이고 현재 커서가 0이라면

    첫번째칸을 가리키기 때문에 데이터가 하나라도 들어있다면 true  즉!!! 요소가 있는지 테스트를 함


    ex)   if(affectedRow != 1){ 

                        out.print("데이터 베이스 입력에 실패하였습니다"); 
                        // 입력에 실패하였다면 서버측에 업로드 된 파일을 삭제한다. 
                        Enumeration enum = multi.getFileNames(); 
                        while(enum.hasMoreElements()){ 
                                  new File(savePath + "/" + multi.getFilesystemName((String)enum.nextElement())).delete(); 
                        } 
              }else{ 
                        response.sendRedirect("upList.jsp"); 
              } 


    ===================================================================================


    실무에서 썻던 ex)


    MultipartRequest multi = null;

    String file = "";

    String fileSaveName = "";

    String fileOrgName = "";

    String fileType ="";



    multi = new MultipartRequest (request, fileDir, fileSize, "utf-8");

    Enumeration em = multi.getFileNames();

    while(em.hasMoreElements()) {   // 파일 정보가 있다면


       file = (String)em.nextElement();

    fileSaveName = multi.getFilesystemName(file); // 서버에 저장된 파일 이름

    fileOrgName = multi.getOriginalFileName(file); // 전송 전 원래의 파일이름

    fileType= multi.getContentType(file); // 전송 된 파일의 내용 타입

    out.print(fileSaveName);

    }



    Iterator


    ● Collection으로부터 상속받거나 구현하고 있는 모든 객체들에게 사용.

    ● remove()메서드가 확장되어 명확한 의미에 근거하여 원본 컬렉션에서 삭제기능까지 수행.

    ● 원본 컬렉션에서 움직이는 커서와 같은 존재다. 작업의 위치를 알리는 눈금과 같은것



    Collection : 객체들을 개별적으로 또는 집단적으로 관리하기 위하여 여러개의 객체를 생성할 때 그룹화

    (객체들을 그룹화 하는 특수한 타입의 객체를 collection이라한다.)

    'Java(자바)' 카테고리의 다른 글

    자바 Statement 와 PreparedStatement의 차이점  (0) 2015.01.15
    자바 StringTokenizer !!  (0) 2014.09.26
    자바 final 이해  (0) 2014.06.17
    자바 static 정의 및 예제!!  (0) 2014.06.17
    해쉬 테이블(Hashtable)  (0) 2014.03.17
Designed by Tistory.