1. Vector 클래스


- 객체를 배열처럼 관리해주는 클래스(ArrayList와 유사함)


- Vector와 ArrayList의 차이점


 1) Vector는 스레드의 동기화 지원

   -->멀티스레드환경에서는 안전하나 많은 자원이 소모됨,무겁다


 2) ArrayList는 스레드의 동기화가 지원안됨

  -->멀티스레드 환경이 아니라면 ArrayList를 사용하는것이 효율적.(가볍다)




ex> Vector객체 생성 후 속성 출력 및 전체 출력

import java.util.Vector;

import java.util.Enumeration;

class Test03_Vector{


    public static void main(String[] args)

    {

        //기본용량은 10이고 10이 다 채워지면 5개씩 늘려라

        Vector vec=new Vector(10,5);

        vec.add("봄");

        vec.add("여름");

        vec.add("가을");

        vec.add("겨울");

        vec.add("봄1");

        vec.add("여름1");

        vec.add("가을1");

        vec.add("겨울1");

        vec.add("봄2");

        vec.add("여름2");

        vec.add("가을2");

        vec.add("겨울2");


        //public int capacity()

        System.out.println("벡터용량:"+vec.capacity());

        //15가 출력됨


        //public int size()

        System.out.println("벡터크기:"+vec.size());

        //벡터에저장된 요소의갯수 : 12가 출력됨


        for(int i=0;i<vec.size();i++){

            System.out.println(vec.get(i));

        }


        //public Enumeration elements()

        Enumeration em=vec.elements();


        //boolean hasMoreElements()

        //        :다음요소가 있으면 참 리턴

        //Object nextElement()

        //        :다음 요소를 반환


        while(em.hasMoreElements()){

            Object ob=em.nextElement();

            System.out.println(ob);

        }

    }

}





 

 

'JAVA' 카테고리의 다른 글

자료구조 API - Collection 프레임워크  (0) 2014.09.12
자료구조 API - 제네릭(Generic)  (0) 2014.09.12
자료구조 API - ArrayList  (0) 2014.09.12
Wrapper클래스  (0) 2014.09.12
String클래스와 StringBuffer클래스의 차이  (0) 2014.09.12

 

1. ArrayList(**)


- 객체를 배열처럼 저장하고 관리하는 클래스


- 배열은 사이즈가 고정되어 있지만 ArrayList는 사이즈가 동적이다.




ex> ArrayList를 사용하여 값을 입력하고 특정 인덱스 요소 제거, 변경, 출력하기.

import java.util.ArrayList;

class  Test01_ArrayList{


    public static void main(String[] args)

    {

        String str1=new String("이순신");

        String str2=new String("김순신");

        String str3=new String("전순신");

        String str4=new String("박순신");


        ArrayList list=new ArrayList();


        //public boolean add(Object e)

        //    :객체를 ArrayList에 추가

        list.add(new String("하나둘"));

        list.add(str2);

        list.add(str3);

        list.add(str4);

        

        //인덱스1번째 요소 제거, 0부터 시작함. 인덱스로 찾아도 되고,입력된 String값으로 찾아 지워도 된다.

        list.remove(1);

        list.remove("김순신");


        //public E set(int index, E element)

        //0번째 요소를 "헬로우"로 바꿈

        list.set(0,new String("헬로우"));


        //public int size() 

        //: ArrayList의 크기(요소의갯수) 얻어옴

        int length=list.size();


        //public Object get(int index)

        //: index 위치의 요소 꺼내옴

        for(int i=0;i<length;i++){

           String aa=(String)list.get(i);

           System.out.println(aa +",문자열갯수:"+aa.length());

        }

    }

}





ex> ArrayList에 담긴 회원에 대한 정보를 모두 출력해 보세요.


Iterator<E> iterator() 


import java.util.ArrayList;

import java.util.Iterator;


class Member{


    private String id;

    private String pwd;


    public Member(String id,String pwd)

    {

        this.id=id;

        this.pwd=pwd;

    }

    public String getId(){

        return id;

    }

    public String getPwd(){

        return pwd;

    }

}

class  Test02_ArrayList{


    public static void main(String[] args)

    {

        ArrayList list=new ArrayList();

        list.add(new Member("song","1234"));

        list.add(new Member("kim","0000"));

        list.add(new Member("lee","0707"));


        for(int i=0;i<list.size();i++){

            Member ob=(Member)list.get(i);

            System.out.println("아이디:"+ob.getId() +",비밀번호:"+ob.getPwd());

        }

        

        //Iterator<E> iterator() 

        //: 컬렉션 계열의 클래스에 저장된 요소들을 

        //   읽어오는 방법의 표준화된 방법 제공


        Iterator it=list.iterator();


        //boolean hasNext()

        //        : 다음요소가 있으면 true 리턴

        //Object next()   : 다음요소를 리턴


        while(it.hasNext()){


            //Object ob=it.next();

            Member mm=(Member)it.next();

            System.out.println(mm.getId() +"," + mm.getPwd());

        }

    }

}




 

 

'JAVA' 카테고리의 다른 글

자료구조 API - 제네릭(Generic)  (0) 2014.09.12
자료구조 API - Vector 클래스  (0) 2014.09.12
Wrapper클래스  (0) 2014.09.12
String클래스와 StringBuffer클래스의 차이  (0) 2014.09.12
lang 패키지  (0) 2014.09.12

 

4.  Wrapper클래스

- 기본자료형(int,char,double,..)을 클래스로 포장해 놓은 것

 

- 기본자료형과 관련된 속성과 메소드를 갖는다.

예)
    int    ==> Integer
    char   ==> Character
    long   ==> Long
    double ==> Double
    ...

 

ex>

class  Test05_Wrapper{
    public static void main(String[] args){

 

        Integer in=new Integer("100");
        System.out.println("in:" + in);

 

        //public int intValue()
        //Integer객체를 int형으로 반환
        int n1=in.intValue();
        System.out.println("n1:"+n1);

 

        //가능(jdk1.5이상),오토박싱
        Integer in1=200;

        //가능,언박싱
        int n2=in1;
        System.out.println("in1:"+in1 +",n2:"+n2);

 

        //public static int parseInt(String s)
        //s를 int형으로 바꿔보세요!
        String s="300";
        int n3=Integer.parseInt(s);
        System.out.println("n3:" + n3);

 

        //public static String toBinaryString(int i)
        String s1=Integer.toBinaryString(100);
        System.out.println(100+"을 2진수로 표현하면:" + s1);

 

        //public static double parseDouble(String s)
        String s2="123.34";
        double d=Double.parseDouble(s2);
        System.out.println("d:"+d);

 

    }
}

 

class Test06_Character{
    public static void main(String[] args){

 

        String str="Hello World 2012";
        int letter=0,digit=0,space=0;

        for(int i=0;i<str.length();i++){
            char ch=str.charAt(i);

 

            //public static boolean isLetter(char ch)
            //ch가 문자면 true
            if(Character.isLetter(ch)){
                letter++;
            }

 

            //ch가 숫자면 true
            if(Character.isDigit(ch)){
                digit++;
            }

 

            //ch가 공백이면 true
            if(Character.isWhitespace(ch)){
                space++;
            }
        }


        System.out.println("문자갯수:"+letter);
        System.out.println("숫자갯수:"+digit);
        System.out.println("공백갯수:"+space);
    }
}

 

import java.util.Random;
class Test07_Random{
    public static void main(String[] args){

 

        //public static double random()
        //        :0.0~1.0사이
        for(int i=0;i<10;i++){
            //1부터 10사이의 난수 얻어오기
            int a= (int)(Math.random()*10)+1;
            System.out.print(a+" ");
        }

 

        System.out.println();

 

        Random rnd=new Random();
        for(int i=0;i<10;i++){
            //public int nextInt()
            int b=rnd.nextInt(10);
            System.out.print(b+" ");
        }


    }
}

 

 

'JAVA' 카테고리의 다른 글

자료구조 API - Vector 클래스  (0) 2014.09.12
자료구조 API - ArrayList  (0) 2014.09.12
String클래스와 StringBuffer클래스의 차이  (0) 2014.09.12
lang 패키지  (0) 2014.09.12
패키지  (0) 2014.09.12

 

3. String클래스와 StringBuffer클래스와의 차이

- String클래스는 원본문자열이 변하지 않는 불변의 클래스이고 문자열이 변경될때마다 계속 새로운 변경된 문자열이 만들어진다.->용량이커짐

 

- StringBuffer는 문자열이 변경될때 원본 문자열 자체가 변경되어진다.

 

ex>

class Test04_StringBuffer{
    public static void main(String[] args){

 

        String str1=new String("123");

        //문자열 연결하기
        String str2=str1+"456";
        System.out.println(str1+","+str2);

 

        StringBuffer sb1=new StringBuffer("123");
        //문자열 연결하기
        StringBuffer sb2=sb1.append("456");
        System.out.println(sb1+","+sb2);

    }
}





 

 

 

 

'JAVA' 카테고리의 다른 글

자료구조 API - ArrayList  (0) 2014.09.12
Wrapper클래스  (0) 2014.09.12
lang 패키지  (0) 2014.09.12
패키지  (0) 2014.09.12
추상 클래스 - 메소드 / 인터페이스 / Object  (0) 2014.09.12

 

lang 패키지

 

class Test02_String{
    public static void main(String[] args){
        String str1="안녕";
        //동일한 문자열상수가 이미 존재하면 그 주소값을 참조한다.
        String str2="안녕";

 

        //두 변수가 참조하는 주소값은 같다.
        if(str1==str2){
            System.out.println("1.두문자열은 같아요!");
        }

        if(str1.equals(str2)){
            System.out.println("2.두문자열은 같아요!");
        }

 

 

        String str3=new String("hello");

        //동일한 문자라도 new로 새로 생성됨
        String str4=new String("hello");

 

        //두 변수가 참조하는 주소값은 다르다.
        if(str3==str4){
            System.out.println("3.두문자열은 같아요!");
        }
        if(str3.equals(str4)){
            System.out.println("4.두문자열은 같아요!");
        }

    }
}







 

 

class Test03_String{
    public static void main(String[] args){

 

        //public String(byte[] bytes)
        byte[] b={65,66,67,68};
        String str1=new String(b);
        System.out.println("str1:"+str1);

 

        //public String(byte[] bytes,int offset,int length)
        String str2=new String(b,0,2);
        System.out.println("str2:"+str2);

 

        //public String(char[] value)
        char[] c={'A','B','C','D'};
        String str3=new String(c);
        System.out.println("str3:"+str3);

 

        //public char charAt(int index)
        System.out.println("ch:"+ch);

 

        // str4의 문자열의 길이를 구해 보세요.
        // public int length()
        int n=str4.length();
        System.out.println("str4의 길이:"+n);

 

        //public String substring(int beginIndex,int endIndex)
        String st=str4.substring(1,4);//1번째인덱스에서 4-1번째 인덱스까지의 문자열 꺼내오기
        System.out.println("st:"+st);
        String str5="hello";

 

        //public String toUpperCase()
        //str5를 대문자로 변환해서 출력해보세요.
        String st1=str5.toUpperCase();
        System.out.println("st1:"+st1 +",str5:"+ str5);     

 

        //public int indexOf(String str)
        String str6="song@daum.net";       

 

       //@문자의 위치값 얻어오기
        int n1=str6.indexOf("@");
        System.out.println("n1:"+n1);

 

        //@문자가 없으면 indexOf메소드는 -1리턴
        if(n1==-1){
            System.out.println("이메일 형식이 잘못되었어요!");
        }else{
            System.out.println("이메일 형식이 잘 되었어요!");
        }

 

       //public String[] split(String regex)
        String str7="홍길동,김철수,이영희";

 

        //str7을 ,를 기준으로 분리해서 배열로 얻어옴
        String[] ar=str7.split(",");
        for(int i=0;i<ar.length;i++){
            System.out.println(ar[i]);
        }

 

        int a=100;
        //public static String valueOf(int i)
        //a를 valueOf메소드를 이용해 String타입의 값을 출력해 보세요.
        String aa=String.valueOf(a);
        System.out.println("aa:"+a);

    }

}

 

 

 

 

'JAVA' 카테고리의 다른 글

Wrapper클래스  (0) 2014.09.12
String클래스와 StringBuffer클래스의 차이  (0) 2014.09.12
패키지  (0) 2014.09.12
추상 클래스 - 메소드 / 인터페이스 / Object  (0) 2014.09.12
클래스간 형변환 / 다형성  (0) 2014.09.12

+ Recent posts