[JAVA] Day 14 -Inner class /Interface / List / Vector / Collection / toString

sueยท2023๋…„ 12์›” 1์ผ
0

๐Ÿ“’๊ตญ๋น„ํ•™์› [JAVA]

๋ชฉ๋ก ๋ณด๊ธฐ
11/20
post-thumbnail

Inner class (= Nested class) :

  • ํด๋ž˜์Šค ์•ˆ์— ํด๋ž˜์Šค
  • why? ์ฝ”๋”ฉ์ƒ ํŽธ์˜์„ฑ + ์œ— class ์ฐธ์กฐํ•˜๊ธฐ ์œ„ํ•ด / class๋ผ๋ฆฌ ๊ฐ€๊นŒ์šธ ๋•Œ(๊ฐ€๋” ์‚ฌ์šฉ)
  • ํŒŒ์ผ ์ด๋ฆ„ ์ฐพ์„ ๋•Œ :

๐Ÿ”Ž [Eclipse] - [package] - [class] ์ƒ์„ฑ


๐Ÿ“Œ Note Code


  • ๋งจ ๋์—์„œ ๊ฐ์‹ธ๊ณ ์žˆ๋Š” class๊ฐ€ ๊ฐ์ฒด์ƒ์„ฑ์ด ์•ˆ๋˜๋ฉด ๊ทธ ์•ˆ์— ์žˆ๋Š” inner class๋„ ๊ฐ์ฒด์ƒ์„ฑ์ด ์•ˆ๋จ
  • But, ๋งจ ๋์—์„œ ๊ฐ์‹ธ๊ณ ์žˆ๋Š” class๊ฐ€ ๊ฐ์ฒด์ƒ์„ฑ์ด ๋๋‹ค๊ณ ํ•ด์„œ ๊ทธ ์•ˆ์— ์žˆ๋Š” inner class ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋œ ๊ฒƒ์€ ์•„๋‹˜ (๋ณ„๋„๋กœ ํ•ด์ค˜์•ผ ํ•จ)



1. [ ํด๋ž˜์Šค ๋‚ด ํด๋ž˜์Šค ] - Inner ํด๋ž˜์Šค1

Test1

๐Ÿ’ป ์ž…๋ ฅ


class Outer1 { 

	static int a = 10;
	int b = 20; // ๊ฐ์ฒด์ƒ์„ฑ์œผ๋กœ ์ธํ•ด ๋ฉ”๋ชจ๋ฆฌ ์˜ฌ๋ผ๊ฐ - ๊ทผ๋ฐ ์•„์ง ๊ฐ์ฒด ์ƒ์„ฑ์•ˆํ•˜์ง€์•Š์•˜๋‚˜,,?

	//Inner a;
	//innerํด๋ž˜์Šค๋ฅผ outer์•ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์Œ
	//public Outer1(new Inner1()) {//๊ธฐ๋ณธ์ƒ์„ฑ์ž์—๋‹ค๊ฐ€ '๊ฐ์ฒด์ƒ์„ฑ๋œ Inner1ํด๋ž˜์Šค' ๋ฅผ ์ง‘์–ด๋„ฃ๋Š”๋‹ค
	//	this.a=a;
	//}
	
	
	public class Inner1 {// ํด๋ž˜์Šค ์•ˆ ํด๋ž˜์Šค (์™ธ๋ถ€์—์„œ ๊ฑฐ์˜ ๊ฐ€์ ธ๋‹ค์“ธ ์ผ ์—†์Œ)

		int c = 30; // ๊ฐ์ฒด์ƒ์„ฑ์œผ๋กœ ์ธํ•ด ๋ฉ”๋ชจ๋ฆฌ ์˜ฌ๋ผ๊ฐ

		public void write() {

			System.out.println(a);
			System.out.println(b);
			System.out.println(c);

		}
	}

	public void print() {

		Inner1 ob = new Inner1(); // ๋‚ด๋ถ€์—์„œ ์ƒ์„ฑ๊ฐ€๋Šฅ
		ob.write();

	}

}

public class Test1 {

	public static void main(String[] args) {

		Outer1 out = new Outer1();// 0 (์•„์šฐํ„ฐ๊ฐ€ ๋จผ์ € ์ƒ์„ฑ๋˜์–ด์žˆ์–ด์•ผํ•จ)

		out.print(); // 1

		System.out.println("----------------------");
		Outer1.Inner1 in = out.new Inner1();// 2
		in.write();

	}

}


๐Ÿ’ก **์ถœ๋ ฅ**
10
20
30
----------------------
10
20
30



๐Ÿ“Œ Note Code


  • instance ๋ณ€์ˆ˜ : class ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ(๋ฉ”์„œ๋“œ๋ฐ–) / ๊ฐ ๊ฐ์ฒด๋งˆ๋‹ค ๊ฐ’์„ ๋ถ€์—ฌ
  • ์ „์—ญ๋ณ€์ˆ˜ (=static ๋ณ€์ˆ˜) : ๋ชจ๋“  ๋ฉ”์„œ๋“œ์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ / static์ด ๋ถ™์€ ๊ฒƒ
  • ์ง€์—ญ๋ณ€์ˆ˜(java) = ๋กœ์ปฌ๋ณ€์ˆ˜(c,c#) : ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ

  • ํด๋ž˜์Šค๊ฐ€ ํฌํ•จ๋˜์–ด์žˆ๋Š” ๋ฉ”์„œ๋“œ์•ˆ์—์„œ๋งŒ ํ•ด๋‹น class์˜ ๊ฐ์ฒด ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ



2. [ ๋ฉ”์„œ๋“œ ๋‚ด ํด๋ž˜์Šค ] - Inner ํด๋ž˜์Šค2 (local)

Test2

๐Ÿ’ป ์ž…๋ ฅ


class Outer2{
	
	static int a =10;//static๋ณ€์ˆ˜
	int b = 20;//instace๋ณ€์ˆ˜,์ „์—ญ๋ณ€์ˆ˜
	
	public void write() {
		
		int c = 30;// ์ง€์—ญ๋ณ€์ˆ˜
		final int D = 40;

//write๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด 30,40์ด ๋งŒ๋“ค์–ด์ง€๋Š”๋ฐ ๊ทธ๋•Œ local์˜ ๊ฐ์ฒด๋„ ๊ฐ™์ด ์ƒ์„ฑ๋จ
		class Local {

			public void print() {
				System.out.println(a);
				System.out.println(b);
				System.out.println(c);
				System.out.println(D);
			}

		}

// write๋ฉ”์„œ๋“œ ์•ˆ์—์„œ๋งŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ
		Local ob = new Local(); 
		ob.print();

	}

}

public class Test2 {

	public static void main(String[] args) {

		Outer2 out = new Outer2();
		out.write();
	}

}


๐Ÿ’ก **์ถœ๋ ฅ**
10
20
30
40



๐Ÿ“Œ Note Code


  • static์ด๋ฉด ๋ฐ”๋กœ ์‹คํ–‰run์ฆ‰์‹œ - ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ, ๊ทธ๋ž˜์„œ static class Inner3์€ ์˜ฌ๋ผ๊ฐ€์žˆ์Œ
  • ํด๋ž˜์Šค ๋‚ด ํด๋ž˜์Šค ๋‚ด ๋ฉ”์„œ๋“œ ์•ˆ์—์„œ ๊ฐ์ฒด์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ์Œ



3. [ ํด๋ž˜์Šค ๋‚ด ํด๋ž˜์Šค(static) ๋‚ด ๋ฉ”์„œ๋“œ ] - Inner ํด๋ž˜์Šค3 (์ค‘์ฒฉ)

Test3

๐Ÿ’ป ์ž…๋ ฅ


class Outer3{
	
	static int a = 10; // Outer3์˜ ํด๋ž˜์Šค ๋ณ€์ˆ˜
	int b = 20; // Outer3์˜ ์ธ์Šคํ„ด์Šค๋ณ€์ˆ˜

	public static class Inner3 {

		int c = 30;

		public void write() {
			System.out.println(a);
			//System.out.println(b); //new ๊ฐ์ฒด์ƒ์„ฑ x - ์—๋Ÿฌ
			System.out.println(c);
			
			Outer3 out = new Outer3();//ํด๋ž˜์Šค ๋‚ด ํด๋ž˜์Šค ๋‚ด ๋ฉ”์„œ๋“œ ์•ˆ์—์„œ ๊ฐ์ฒด์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ์Œ
			System.out.println(out.b);
			
			
		}

	}

	public void print() {

		System.out.println("Outer3 print()");
	}

}


public class Test3 {

	public static void main(String[] args) {

		Outer3 out = new Outer3();
		out.print();
		
		Outer3.Inner3 in = new Outer3.Inner3();
		in.write();
		
		
	}

}


๐Ÿ’ก **์ถœ๋ ฅ**
Outer3 print()
10
30
20



๐Ÿ“Œ Note Code


  • toString๋ฉ”์„œ๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ์ด์œ ?
    java์—์„œ๋Š” ๊ฐ์ฒด๋ฅผ ๋ฌธ์ž์—ด๋กœ ํ‘œํ˜„ํ•  ๋•Œ -> System.out.println๋‚˜ ๋‹ค๋ฅธ ์ถœ๋ ฅ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋‚ด๋ถ€์ ์œผ๋กœ toString ๋ฉ”์„œ๋“œ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ

  • why? System.out.println์˜ ๋ฉ”์„œ๋“œ = ์ถœ๋ ฅํ•˜๋ ค๋Š” ๊ฐ์ฒด์˜ toString ๋ฉ”์„œ๋“œ๋ฅผ ์ž๋™์œผ๋กœ ํ˜ธ์ถœํ•˜์—ฌ
    ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•œ ํ›„ ์ถœ๋ ฅํ•จ.
    ๋งŒ์ผ, ๊ฐ์ฒด๊ฐ€ toString ์˜ค๋ฒ„๋ผ์ด๋“œ๋ฅผ ์•ˆํ–ˆ๋‹ค๋ฉด -> Object ํด๋ž˜์Šค์˜ ๊ธฐ๋ณธ์ธ toString ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ํด๋ž˜์Šค์ด๋ฆ„๊ณผ ํ•ด์‹œ์ฝ”๋“œ ์ถœ๋ ฅํ•จ

  • ์•„๋ž˜ ์˜ˆ์‹œ์—์„œ ์˜ค๋ฒ„๋ผ์ด๋“œํ•œ toString ๋ฉ”์„œ๋“œ = ์œ„์— why?์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ main์—์„œ System.out.println(ob.getTitle()); ์‹คํ–‰๋  ๋•Œ, ๋‚ด๋ถ€์ ์œผ๋กœ toString ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜์–ด "์ต๋ช…์˜ ํด๋ž˜์Šค" ๋ฌธ์ž์—ด์ด ๋ฐ˜ํ™˜๋˜๊ณ  ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

- ์›๋ž˜๋Š” toString์„ ์•ˆ์จ๋„ ์ถœ๋ ฅํ•  ๋•Œ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ์ด ๋˜์ง€๋งŒ, ์•„๋ž˜ Test4์—์„œ toString๋ฉ”์„œ๋“œ๋ฅผ ์“ด ์ด์œ ๋Š”?
: getTitle๋ฉ”์„œ๋“œ์—์„œ ์ƒˆ๋กœ์šด return new Object() ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ์ด ๊ฐ์ฒด์— ๋Œ€ํ•œ toString์„ ์˜ค๋ฒ„๋ผ์ด๋“œํ•ด์„œ '์ต๋ช…์˜ ํด๋ž˜์Šค' ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•จ. ์ด๋Ÿฌ๋ฉด System.out.println(ob.getTitle()); ํ˜ธ์ถœํ•  ๋•Œ ์ž๋™์œผ๋กœ ์ž์‹๊บผ toString์„ ๋ถˆ๋Ÿฌ์™€์„œ '์ต๋ช…์˜ ํด๋ž˜์Šค'๋ฅผ ์ถœ๋ ฅํ•ด๋ƒ„



4. [ ํด๋ž˜์Šค๋ฅผ return๊ฐ’์ด๋‚˜ ๋งค๊ฐœ๋ณ€์ˆ˜์ž๋ฆฌ์— ๋„ฃ๊ธฐ ] - Inner ํด๋ž˜์Šค4 (anonymous) - ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•œ toString์„ ํ™œ์šฉํ•ด '์ต๋ช…์˜ ํด๋ž˜์Šค' ๋ฐ˜ํ™˜ํ•˜์—ฌ๋ผ

Test4

๐Ÿ’ป ์ž…๋ ฅ



public class Test4 {

	//public Object getTitle(new Object) { //๋งค๊ฐœ๋ณ€์ˆ˜์ž๋ฆฌ์— ๋งŒ๋“ฆ
	public Object getTitle() {

		
		return new Object() {// Objectํด๋ž˜์Šค๋ฅผ return๊ฒฐ๊ณผ๊ฐ’ ์ž๋ฆฌ์— ๋งŒ๋“ฆ

			public String toString() {// ํ˜ธ์ถœํ•˜์ง€์•Š์•„๋„ ๋ฌด์กฐ๊ฑด ์‹คํ–‰๋จ

				return "์ต๋ช…์˜ ํด๋ž˜์Šค";
			}

		};// ์„ธ๋ฏธ์ฝœ๋ก  ํ•„์ˆ˜ - return๊ณผ ์…‹ํŠธ

	}

	public static void main(String[] args) {

		Test4 ob = new Test4();
		System.out.println(ob.getTitle());
		
		
	}

}


๐Ÿ’ก **์ถœ๋ ฅ**
์ต๋ช…์˜ ํด๋ž˜์Šค


๐Ÿ“Œ Note Code


  • Collection : ์ธํ„ฐํŽ˜์ด์Šค [API์—์„œ ํ™•์ธ] / ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ €์žฅ๊ณต๊ฐ„์œผ๋กœ๋„ ์‚ฌ์šฉ๊ฐ€๋Šฅ

  • Collection Framework(๋ฐฉ๋ฒ•๋“ค) - ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ํ•ด์„œ ๋ชจ์•„๋†“๋Š”๊ฑด๋ฐ ๋ฐฐ์—ด์ด๋ž‘ ๋˜‘๊ฐ™์ง€๋งŒ, ๊ธฐ๋ณธ default๊ฐ€ 10๊ฐœ๊ณ ,

  • ๋ฐ์ดํ„ฐ๊ฐ€ ์•Œ์•„์„œ ๋Š˜์–ด๋‚˜๊ณ  ์ค„์ด๋Š”๊ฑด ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๊ฐ€๋Šฅ
    ex) List,Vector,Set,Map,LinkedList,HashSet, TreeSet, Hashtable

  • List(interface) - Vector(class) : ๋™๊ธฐํ™” ์ง€์› -> ArrayLsit๋ณด๋‹ค ๋А๋ฆฌ๋‹ค

  • List(interface) - ArrayLsit (class) : ๋™๊ธฐํ™” ์ง€์› x -> Vector๋ณด๋‹ค ๋น ๋ฅด๋‹ค

  • ๋ฐฐ์—ด๊ณผ์˜ ์ฐจ์ด์ ?
    - ๊ฐฏ์ˆ˜๊ฐ€ ์ •ํ•ด์ ธ์žˆ์Œ
    - ๊ฐฏ์ˆ˜ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์ค„์ด๊ฑฐ๋‚˜ ํ•˜์ง€ ๋ชปํ•จ

  • vector์˜ ํฌ๊ธฐ : v.size( )



5. Collection / List / Vecor ์‚ฌ์šฉ๋ฒ•

Test5

๐Ÿ’ป ์ž…๋ ฅ


import java.util.Vector;

public class Test5 {

	public static void main(String[] args) {

		//generic <E> : ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž… - Object๋ฅผ ์“ด๋‹ค๋ฉด <E>์ง€์šฐ๋ฉด ๋จ
        //generic์„ ์“ฐ์ง€ ์•Š์•˜์œผ๋‹ˆ -> ๋ชจ๋“  ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ Vector์— ๋„ฃ์–ด๋„ ๋จ -> ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ž๋™์œผ๋กœ ์—…์บ์ŠคํŠธํ•จ
		//Vector <E> = new Vector<E>();  ์›ํ•˜๋Š” ๊ธฐ๋ณธํ˜•์ด ์žˆ๋‹ค๋ฉด ์จ์ฃผ๋ฉด๋จ
		Vector v = new Vector();

		
		
		v.add("์„œ์šธ"); //upcast 
		v.add(30); //Object <- Integer (class) : ๋ถ€๋ชจ 
		v.add('c'); //Object <- Character ๊ฐ’
		
		String str;
		Integer i;
		Character c;
		
		str = (String)v.get(0); // downcast
		System.out.println(str);
		
		i = (Integer)v.get(1);
		System.out.println(i);
		
		c = (char)v.get(2);
		System.out.println(c);
		
		for(int n=0;n<v.size();n++){ // v.size (3๊ฐœ : 0,1,2)
			
			Object ob = v.get(n);
			
			if(ob instanceof String) {
				str = (String)ob;//downcast
				System.out.println(str);
			}else if(ob instanceof Integer) {
				i = (Integer)ob;//downcast
				System.out.println(i);
			}else if(ob instanceof Character) {
				c = (char)ob;//downcast
				System.out.println(c);
			}
		}
		
		
	}

}


๐Ÿ’ก **์ถœ๋ ฅ**
์„œ์šธ
30
c
์„œ์šธ
30
c


๐Ÿ“Œ Note Code


  • Iterator (๋ฐ˜๋ณต์ž) -> while๋ฌธ
  • collection์—์„œ๋งŒ ์“ธ ์ˆ˜ ์žˆ์Œ
  • collection ์ „์šฉ ์ถœ๋ ฅ๊ธฐ(Iterator)
  • ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์œผ๋ฉด ๋งŽ์„์ˆ˜๋ก Iterator๋กœ ์ถœ๋ ฅํ•˜๋ฉด ์†๋„๊ฐ€ ๋นจ๋ผ์ง„๋‹ค
  • Iterator - hasNext( ) ์„ค๋ช… :



6. Iterator๋ฅผ ํ™œ์šฉํ•œ ๋ฐฐ์—ด {"์„œ์šธ","๋ถ€์‚ฐ","๋Œ€๊ตฌ","์ธ์ฒœ","๊ด‘์ฃผ","๋Œ€์ „","์šธ์‚ฐ"} ์ถœ๋ ฅํ•˜๊ธฐ

Test6

๐Ÿ’ป ์ž…๋ ฅ


import java.util.Iterator;
import java.util.Vector;

public class Test6 {

	//๊ณต๊ฐ„์˜ ๊ฐœ์ˆ˜๋ฅผ ์‹ ๊ฒฝ์“ธ ํ•„์š”๊ฐ€ ์—†๋Š”๊ฒƒ์ด ์žฅ์ 
	
	private static String[] city = {"์„œ์šธ","๋ถ€์‚ฐ","๋Œ€๊ตฌ","์ธ์ฒœ","๊ด‘์ฃผ","๋Œ€์ „","์šธ์‚ฐ"}; //static final ์ƒ๋žต
	
	public static void main(String[] args) {

		Vector<String> v = new Vector<String>(); //ํ•ด๋‹น ๋ฒกํ„ฐ์—๋Š” ์ด์ œ ์ŠคํŠธ๋งํƒ€์ž…๋งŒ ์ง‘์–ด๋„ฃ์„ ์ˆ˜ ์žˆ์Œ, ๋’ค์— <String>์ด ์•ˆ๋‚˜์˜ฌ ์ˆ˜๋„ ์žˆ์Œ
		
		//v.add(30);
		
		for(String str : city) { //String str : city์˜ city๋Š” static์ด ์•ˆ๋ถ™์–ด์„œ 1์ธต์— ์žˆ์œผ๋ฏ€๋กœ staticํ•ด์•ผํ•จ
			v.add(str);
		}
		
		String str;
		
		str = v.firstElement(); //์ฒซ๋ฒˆ์งธ ์š”์†Œ= ๋ฐฐ์—ด 0๋ฒˆ์ง€
		System.out.println(str);
		
		str = v.lastElement();// first๋ž‘ last๋งŒ ์žˆ์Œ
		System.out.println(str);
		
		str = v.get(1);
		System.out.println(str);
		
		
		//1๋ฒˆ์งธ ๋ฐฉ๋ฒ• - for๋ฌธ
		for(int i=0; i<v.size();i++) {
			System.out.print(v.get(i)+" ");
		}
		
		
		System.out.println();
		
		
		//2๋ฒˆ์งธ ๋ฐฉ๋ฒ• - ํ™•์žฅfor๋ฌธ
		for(String s :  v) { //ํ™•์žฅfor๋ฌธ = ๋ฐฐ์—ด, collection ๊ฐ™์€ ๊ณณ์—์„œ๋งŒ ๊ฐ€๋Šฅ
			System.out.print(s+" ");
		}
		
		
		System.out.println("");
        
		Iterator<String> it = v.iterator(); // **์ดํ„ฐ๋ ˆ์ดํ„ฐ๋ฅผ ํ†ตํ•ด it์— ๊ฐœ์ˆ˜()๋ฅผ ๊บผ๋‚ด๋†“์Œ -> it์ถœ๋ ฅ

		while (it.hasNext()) {// ๋ช‡๊ฐœ์ธ์ง€ ๋ชจ๋ฅผ๋•Œ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด๋ด

			str = it.next(); // ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ์ฝ์–ด๋‚ด๋Š” ๋ช…๋ น์–ด
			System.out.print(str + " ");
		}

		while (it.hasNext()) {// ๋ช‡๊ฐœ์ธ์ง€ ๋ชจ๋ฅผ๋•Œ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด๋ด

			str = it.next(); // ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ์ฝ์–ด๋‚ด๋Š” ๋ช…๋ น์–ด
			System.out.print(str + " ");

		}

	}
}


๐Ÿ’ก **์ถœ๋ ฅ**
์„œ์šธ
์šธ์‚ฐ
๋ถ€์‚ฐ
์„œ์šธ ๋ถ€์‚ฐ ๋Œ€๊ตฌ ์ธ์ฒœ ๊ด‘์ฃผ ๋Œ€์ „ ์šธ์‚ฐ 
์„œ์šธ ๋ถ€์‚ฐ ๋Œ€๊ตฌ ์ธ์ฒœ ๊ด‘์ฃผ ๋Œ€์ „ ์šธ์‚ฐ 
์„œ์šธ ๋ถ€์‚ฐ ๋Œ€๊ตฌ ์ธ์ฒœ ๊ด‘์ฃผ ๋Œ€์ „ ์šธ์‚ฐ 


๐Ÿ“Œ Note Code


  • v.size : ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜

  • v.capacity( ) : ๊ธฐ๋ณธ์šฉ๋Ÿ‰ (10)

  • v.add( ) : Vector์— ์ถ”๊ฐ€

  • v.set(0,"Seoul") : ๋ฎ์–ด์”€ / ๊ธฐ์กด index - 0๋ฒˆ์ง€์— seoul๋กœ ๋ฎ์–ด์จ๋ผ

  • v.insertElementAt("๋Œ€ํ•œ๋ฏผ๊ตญ",0) : 0๋ฒˆ์ง€ ์ž๋ฆฌ์— "๋Œ€ํ•œ๋ฏผ๊ตญ"์„ ์‚ฝ์ž…ํ•ด๋ผ -> ๊ธฐ์กด ์นœ๊ตฌ๋“ค ๋’ค๋กœ ๋ฐ€๋ฆผ

  • int index = v.indextOf("์„œ์šธ") : "์„œ์šธ" index ๋ฒˆ์ง€์ˆ˜ ์ฐพ์•„๋ผ

  • if ( index!=-1) : ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด,

  • Collections.sort(v); : ์˜ค๋ฆ„์ฐจ์ˆœ

  • Collections.sort(v,Collections.reverseOrder()); : ๋‚ด๋ฆผ์ฐจ์ˆœ

  • v.remove("๋ถ€์‚ฐ") = v.remove(7) : ์ œ๊ฑฐ

  • for (int i = 1; i <= 20; i++) {
    v.add(Integer.toString(i)); : Vector์— integerํƒ€์ž…์œผ๋กœ ํ˜•๋ณ€ํ™˜ํ•ด์„œ ์ˆซ์ž 20๊นŒ์ง€ ์ถ”๊ฐ€ํ•˜์—ฌ๋ผ

  • for(int i=1;i<=10;i++) {
    v.remove(5); : 5๋ฒˆ์งธ index๋ฐ์ดํ„ฐ 10๋ฒˆ ์ง€์›Œ์ง

  • v.trimToSize( ); : ๋นˆ๊ณต๊ฐ„ ์‚ญ์ œ

  • v.clear( ) : Vector ๋‚ด ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์‚ญ์ œ -> ์™„์ „ํ•˜๊ฒŒ ๋‹ค ์ง€์šฐ๊ณ ์‹ถ์œผ๋ฉด (๋Š˜์–ด๋‚œ๊ฑด ์•Œ์•„์„œ ์ค„์ง€ ์•Š์œผ๋ฏ€๋กœ) v.trimToSizeํ•œ๋ฒˆ ๋” ํ•ด์ค˜์•ผํ•จ


7. Vector - ๋‹จ์ถ•์–ด๋กœ ๋ฐฐ์—ด์„ ์ถœ๋ ฅํ•˜๊ณ , ๋ฐฐ์—ดํฌ๊ธฐ ํ™•์ธํ•˜๊ธฐ

Test7

๐Ÿ’ป ์ž…๋ ฅ


import java.util.Collections;
import java.util.Vector;

public class Test7 {


	private static String[] city = {"์„œ์šธ","๋ถ€์‚ฐ","๋Œ€๊ตฌ","์ธ์ฒœ","๊ด‘์ฃผ","๋Œ€์ „","์šธ์‚ฐ"};
	
	public static void main(String[] args) {

		Vector<String> v = new Vector<String>();

		System.out.println("๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : " + v.capacity());

		for (String c : city) {
			v.add(c);
		}

		for (String s : v) {
			System.out.print(s + " ");
		}
		System.out.println();
		
		System.out.println("๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: "+v.size()+"๊ฐœ");
		
		
		//๋ฎ์–ด์”Œ์šฐ๊ธฐ - ์ˆ˜์ •
		v.set(0, "Seoul");
		v.set(1, "Busan");
		
		for (String s : v) {
			System.out.print(s + " ");
		}

		System.out.println();
		
		
		//0๋ฒˆ์งธ ์ž๋ฆฌ์— ์‚ฝ์ž… -> ๊ทธ๋Ÿผ ์›๋ž˜ ์žˆ๋˜ ์นœ๊ตฌ๋“ค์€ ๋’ค๋กœ ๋ฐ€๋ฆผ
		v.insertElementAt("๋Œ€ํ•œ๋ฏผ๊ตญ", 0);
		for (String s : v) {
			System.out.print(s + " ");
		}
		System.out.println();
		
		
		//๊ฒ€์ƒ‰
		int index = v.indexOf("๋Œ€๊ตฌ");
		
		//index!=-1 (๊ธ์ •) : ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์œผ๋ฉด
		if(index!=-1) {
			System.out.println("๊ฒ€์ƒ‰ ์„ฑ๊ณต:"+index);
		}else { 
			System.out.println("๊ฒ€์ƒ‰ ์‹คํŒจ:"+index);
		}
		
		
		//์˜ค๋ฆ„์ฐจ์ˆœ
		Collections.sort(v); 
		for(String s : v) {
			System.out.println(s + " ");
		}

		System.out.println();

		// ๋‚ด๋ฆผ์ฐจ์ˆœ
		Collections.sort(v, Collections.reverseOrder());
		for (String s : v) {
			System.out.println(s + " ");
		}

		System.out.println();

		// ์‚ญ์ œ
		v.remove("Busan");// v.remove(7)
		for (String s : v) {
			System.out.println(s + " ");
		}

		System.out.println();

		// ์šฉ๋Ÿ‰ ์ฆ๊ฐ€
		for (int i = 1; i <= 20; i++) {
			v.add(Integer.toString(i));// vector๋Š” ์ŠคํŠธ๋ง ๊ฐ’์ด๊ณ  - i๋Š” int๊ฐ’์ด๋ผ์„œ
			// wrapper class๋ฅผ ํ™œ์šฉํ•ด์„œ intํƒ€์ž…์„ integer ์ž๋ฃŒํ˜•์œผ๋กœ ๋ฐ”๊ฟ”๋ผ
		}
			for (String s : v) {
				System.out.print(s + " ");
			}

			System.out.println();

			System.out.println("๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : " + v.capacity());//40๊ฐœ
			
			System.out.println("๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: "+v.size()+"๊ฐœ"); //27๊ฐœ

			for(int i=1;i<=10;i++) {
				v.remove(5); //5๋ฒˆ์งธ index๋ฐ์ดํ„ฐ 10๋ฒˆ ์ง€์›Œ์ง
	
			}
			
			for (String s : v) {
				System.out.print(s + " ");
			}

			System.out.println();

			System.out.println("๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : " + v.capacity());//40๊ฐœ - ๋Š˜์–ด๋‚œ๊ฑด ์•Œ์•„์„œ ์ค„์ง„์•Š๋Š”๋‹ค
			
			System.out.println("๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: "+v.size()+"๊ฐœ"); //17๊ฐœ

			// ๋นˆ๊ณต๊ฐ„ ์‚ญ์ œ
			v.trimToSize();
			System.out.println("๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : " + v.capacity());// 17๊ฐœ

			System.out.println("๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: " + v.size() + "๊ฐœ"); // 17๊ฐœ

			// ๋ฒกํ„ฐ๋‚ด ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์‚ญ์ œ
			v.clear();

			System.out.println("๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : " + v.capacity());// 17๊ฐœ

			System.out.println("๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: " + v.size() + "๊ฐœ"); // 17๊ฐœ

			v.trimToSize();// ๋Š˜์–ด๋‚œ๊ฑด ์•Œ์•„์„œ ์ค„์ง„์•Š์œผ๋ฏ€๋กœ
			System.out.println("๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : " + v.capacity());// 17๊ฐœ

			System.out.println("๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: " + v.size() + "๊ฐœ"); // 17๊ฐœ
			
			v.add("์„œ์šธ");
			System.out.println("๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : " + v.capacity());// 17๊ฐœ

			System.out.println("๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: " + v.size() + "๊ฐœ"); // 17๊ฐœ
			

		}


๐Ÿ’ก **์ถœ๋ ฅ**
๋Œ€๊ตฌ 
๊ด‘์ฃผ 
Seoul 
Busan 

์ธ์ฒœ 
์šธ์‚ฐ 
๋Œ€ํ•œ๋ฏผ๊ตญ 
๋Œ€์ „ 
๋Œ€๊ตฌ 
๊ด‘์ฃผ 
Seoul 

์ธ์ฒœ ์šธ์‚ฐ ๋Œ€ํ•œ๋ฏผ๊ตญ ๋Œ€์ „ ๋Œ€๊ตฌ ๊ด‘์ฃผ Seoul 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : 40
๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: 27๊ฐœ
์ธ์ฒœ ์šธ์‚ฐ ๋Œ€ํ•œ๋ฏผ๊ตญ ๋Œ€์ „ ๋Œ€๊ตฌ 9 10 11 12 13 14 15 16 17 18 19 20 
๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : 40
๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: 17๊ฐœ
๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : 17
๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: 17๊ฐœ
๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : 17
๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: 0๊ฐœ
๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : 0
๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: 0๊ฐœ
๋ฒกํ„ฐ์˜ ์ดˆ๊ธฐ ์šฉ๋Ÿ‰ : 1
๋ฐ์ดํ„ฐ๊ฐœ์ˆ˜: 1๊ฐœ

8. ๊ฐ์ฒด์ƒ์„ฑ์„ ํ™œ์šฉํ•ด ๋ฐฐ์ˆ˜์ง€,์ด์ด๋‹ด์˜ ์ด๋ฆ„๊ณผ ๋‚˜์ด ์ถœ๋ ฅํ•˜๊ธฐ

Test8

๐Ÿ’ป ์ž…๋ ฅ


import java.util.Vector;

class Test{
	
	String name;
	int age;
	
}


public class Test8 {

	public static void main(String[] args) {

		Vector<Test> v = new Vector<Test>(); //<class - Test> (string ํ˜•ํƒœ 1๊ฐœ + int ๋ฐ์ดํ„ฐ 1๊ฐœ)
		
		//Test ob = new Test();
		Test ob;
		ob = new Test(); //for๋ฌธ์„ ์•ˆ์จ์„œ ๋‘๋ฒˆ์จ์•ผํ•จ
		
		ob.name = "๋ฐฐ์ˆ˜์ง€";
		ob.age = 28;
		
		v.add(ob);
		
		ob = new Test();//for๋ฌธ์„ ์•ˆ์จ์„œ ๋‘๋ฒˆ์จ์•ผํ•จ
		ob.name = "์ด์ด๋‹ด";
		ob.age = 26;
		
		v.add(ob);
		
		
		for(Test t : v) {
			System.out.println(t.name+" : "+t.age);
		}
		
	}

}


๐Ÿ’ก **์ถœ๋ ฅ**
๋ฐฐ์ˆ˜์ง€ : 28
์ด์ด๋‹ด : 26

0๊ฐœ์˜ ๋Œ“๊ธ€