일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 재택근무
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- java
- 직장인인강
- javabasic
- DesignPattern
- DB
- 스프링
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 자바연습문제
- 디자인패턴
- 리눅스
- js
- 자바
- 자바기초
- 직장인자기계발
- 자바예제
- 데이터베이스
- 자바기본
- 패스트캠퍼스후기
- linux
- 웹
- 국비
- 패스트캠퍼스
- String
- Spring
- 패캠챌린지
- java기초
- ncs
- 디자인
- Today
- Total
FIF's 코딩팩토리
자바 기초 NCS교육과정(42)-컬렉션1 본문
자료구조 |
자료를 효율적으로 사용하기 위해서 자료의 특성에 따라서 분류하여 구성하고
저장 및 처리하는 모든 작업이다. 즉 데이터의 저장과 관련이 있는 학문으로
검색 등 다양한 측면을 고려하여 데이터의 저장방법을 연구한다.
알고리즘 |
문제를 해결하거나 함수를 계산하기 위해 사용한 명령문들의 집합이다.
즉 저장된 데이터의 일부 또는 전체를 대상으로 진행하는 각종 연산을 연구하는 학문이다.
컬렉션프레임워크 |
자료구조(Data Structure)를 바탕으로 객체들을 효율적으로
추가, 삭제, 검색할 수 있도록 제공해주는 표준화된 방법을 제공하는 인터페이스와 클래스들을 의미한다.
컬렉션은 요소를 수집해서 저장하는 것이고 프레임워크는 사용방법을 정해 놓은 라이브러리를 말한다.
Java175_Vector.java
public class Java175_Vector { public static void main(String[] args) { Vector v=new Vector(3); //Integer -> Object : up-casting v.add(new Integer(10)); v.add(new Integer(20)); v.add(new Integer(30)); v.add(new Integer(40)); //2index의 요소를 제거 v.remove(2); System.out.println(v.capacity());//메모리 크기 System.out.println(v.size());//요소 크기 for(int i=0;i<v.size();i++) { Integer it=(Integer)v.get(i); System.out.println(it); } } }

Java176_List.java
public class Java176_List { public static void main(String[] args) { UserList uList=new UserList(); uList.add(new Integer(10)); uList.add(new Integer(20)); uList.add(new Integer(30)); uList.add(new Integer(40)); System.out.println(uList.remove(1)+"요소 제거"); for(int i=0 ; i<uList.size();i++) { Integer it=(Integer)uList.get(i); System.out.println(it); } } }

배열: length키워드
문자열:length()메소드
컬렉션:size()메소드
컬렉션 클래스를 선언하고 생성할 때 제너릭을 선언한다.
제너릭(generic):컬렉션 클래스에 저장된 객체를 가져올때
다운캐스팅하는 작업을 생략할 수 있도록 제공해주는 기능이다.
Java177_Vector.java
public class Java177_Vector { public static void main(String[] args) { Vector<String> v = new Vector<>(); v.add(new String("java")); v.add(new String("jsp")); v.add(new String("spring")); System.out.println("///////////일반 반복문//////////"); for (int i = 0; i < v.size(); i++) { String data = v.get(i); System.out.println(data); } System.out.println("///////////개선된 루프//////////"); // for(데이터타입 변수 : 배열 or 컬렉션) for (String st : v) { System.out.println(st); } Vector<Number> vt = new Vector<Number>(); // Integer->Number->Object : up-casting vt.add(new Integer(10)); // Float->Number->Object : up-casting vt.add(new Float(5.4f)); // Double->Number->Object : up-casting vt.add(new Double(3.4)); for (Number ne : vt) { if (ne instanceof Integer) { Integer it = (Integer) ne; System.out.println(it); } else if (ne instanceof Float) { Float ft = (Float) ne; System.out.println(ft); } else if (ne instanceof Double) { double de = (double) ne; System.out.println(de); } } } }

Java178_Vector.java
public class Java178_Vector { public static void main(String[] args) { Person p1=new Person("홍길동",30); Person p2=new Person("이영희",25); System.out.println(p1.toString()); System.out.println(p2.toString()); System.out.println("=============================="); Person[] ps=new Person[2]; ps[0]=new Person("홍길동",30); ps[1]=new Person("이영희",25); for(Person pn : ps) System.out.println(pn); System.out.println("=================================="); Vector<Person> vt=new Vector<Person>(); vt.add(new Person("홍길동",30)); vt.add(new Person("이영희",25)); for(Person pn : vt) System.out.println(pn.toString()); } }

Java179_Vector.java
public class Java179_Vector { public static void main(String[] args) { Vector<String> v= new Vector<String>(); v.add(new String("java")); v=new Vector<String>(2); v.add(new String("seoul")); v.add(new String("busan")); v.add(new String("inchon")); System.out.println("용량:"+v.capacity()); System.out.println("크기:"+v.size()); v=new Vector<String>(2,1); v.add(new String("홍길동")); v.add(new String("영순이")); v.add(new String("갑돌이")); System.out.println("용량:"+v.capacity()); System.out.println("크기:"+v.size()); } }

Java180_Vector.java
public class Java180_Vector { public static void main(String[] args) { Vector<Integer> v= new Vector<Integer>(); v.add(new Integer(10)); v.add(new Integer(20)); v.add(new Integer(30)); //요소가 저장되여 있지 않은 메모리 제거 v.trimToSize(); System.out.println(v.capacity()); } }

[프로그램 출력결과]
kim 56 78 12 146
hong 46 100 97 243
park 96 56 88 240
1 입력스트림연결
2 한줄 읽어오고
3 sawon멤버변수
4 vector 추가
5 234 반복
6 vector 리턴
Java181_Vector.java
public class Java181_Vector { public static void main(String[] args) { String sn = "./src/java1012_collection/score.txt"; Vector<Sawon> vt = lines(sn); prnDisplay(vt); }// end main() private static Vector<Sawon> lines(String strName) { // strName 매개변수의 값을 이용해서 Vector에 데이터를 저장한후 // 리턴하는 프로그램을 구현하시오. Vector<Sawon> v = new Vector<Sawon>(); File file = new File(strName); Scanner sc = null; try { sc = new Scanner(file); while (sc.hasNextLine()) { String stn = sc.nextLine(); String[] data = stn.split("[:/]"); Sawon sn = new Sawon(data[0], Integer.parseInt(data[1]), Integer.parseInt(data[2]), Integer.parseInt(data[3])); } } catch (FileNotFoundException e1) { e1.printStackTrace(); } finally { sc.close(); } FileReader fr = null; BufferedReader br = null; try { fr = new FileReader(file); br = new BufferedReader(fr); String line = ""; while ((line = br.readLine()) != null) { String[] arr = line.split(":"); String[] arr2 = arr[1].split("/"); v.add(new Sawon(arr[0], Integer.parseInt(arr2[0]), Integer.parseInt(arr2[1]), Integer.parseInt(arr2[2]))); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return v; }// end lines() private static void prnDisplay(Vector<Sawon> vt) { // vt에 저장된 객체들을 출력결과와 같이 프로그램을 구현하시오. for (Sawon pn : vt) System.out.println(pn.toString()); }// end prnDisplay() }// end class

Vector와 ArrayList
1 Vector 은 동기화 처리가 되어 있고 ArrayList은 비동기화 처리한다.
2 Vector와 ArrayList은 메모리에 요소를 처리할 떄 배열의 구조를 따른다.
3 Vector와 ArrayList의 클래스는 처리방법이 비슷한다.
4 Vector와 ArrayList으로 요소의 삽입, 삭제를 처리하는 것은 좋은 방법이 아니다.
Java182_ArrayList.java
public class Java182_ArrayList { public static void main(String[] args) { ArrayList<Integer> aList=new ArrayList<Integer>(); aList.add(new Integer(10)); aList.add(new Integer(20)); aList.add(new Integer(30)); for(int i=0;i<aList.size();i++) System.out.println(aList.get(i)); } }

Java183_ArrayList.java
public class Java183_ArrayList { public static void main(String[] args) { ArrayList<String> aList = new ArrayList<String>(); aList.add(new String("java")); aList.add(new String("jsp")); aList.add(new String("spring")); prnDisplay(aList); } public static void prnDisplay(ArrayList<String> aList) { // aList매개변수의 요소에서 'j'가 포함되어 있는 요소만 // 출력하는 프로그램을 구현하세요 for (int i = 0; i < aList.size(); i++) { if (aList.get(i).matches(".*j.*")) { System.out.println(aList.get(i)); } } for (String sn : aList) { // sn="java" for (int i = 0; i < sn.length(); i++) { if (sn.charAt(i) == 'j') { System.out.println(sn.toString()); } } } for (String sn : aList) { char[] data = sn.toCharArray(); for (int i = 0; i < data.length; i++) { if (data[i] == 'j') { System.out.println(data); break; } } } for (String sn : aList) { if (sn.contains("j")) { System.out.println(sn.toString()); } } for (String sn : aList) { if (sn.matches(".*j.*")) { System.out.println(sn.toString()); } } } }

Java184_ArrayList.java
public class Java184_ArrayList { public static void main(String[] args) { ArrayList<String> aList = new ArrayList<String>(); aList.add("oracle"); aList.add("mysql"); aList.add("mssql"); String[] arr = display(aList); for (String data : arr) System.out.println(data); } public static String[] display(ArrayList<String> aList) { /* * String[] stn=new String[aList.size()]; * for(int i=0;i<aList.size();i++) * stn[i]=aList.get(i); * return stn; */ /*Object[] obj = aList.toArray(); String[] stn = new String[obj.length]; for (int i = 0; i < stn.length; i++) { stn[i] = (String) obj[i]; } return stn;*/ /*String[] stn=new String[aList.size()]; return aList.toArray(stn);*/ return aList.toArray(new String[aList.size()]); } }

Java185_ArrayList.java
public class Java185_ArrayList { public static void main(String[] args) { String[] arr = { "oracle", "mysql", "mssql" }; //배열->컬렉션(List) List<String> list=Arrays.asList(arr); for(String sn:list) System.out.println(sn); } }

Enumeration은 Vector와 Hashtable에서만 제공이 되는 인터페이스이다.
Java186_Enumeration.java
public class Java186_Enumeration { public static void main(String[] args) { Vector<Integer> v=new Vector<Integer>(); v.add(new Integer(10)); v.add(new Integer(20)); v.add(new Integer(30)); /*for(int i=0; i<v.size(); i++) System.out.println(v.get(i));*/ //열거형 /*Enumeration<Integer> enu=v.elements(); while(enu.hasMoreElements()) System.out.println(enu.nextElement());*/ //반복자 /*Iterator<Integer> ite=v.iterator() ; while(ite.hasNext()) System.out.println(ite.next());*/ for(Integer ig:v) System.out.println(ig); } }

'Back-End > 국비 NCS교과과정' 카테고리의 다른 글
자바 기초 NCS교육과정(44)-컬렉션3 (0) | 2019.08.02 |
---|---|
자바 기초 NCS교육과정(43)-컬렉션2 (0) | 2019.08.02 |
자바 기초 NCS교육과정(41)-스트림 문제풀이 (0) | 2019.08.01 |
자바 기초 NCS교육과정(40)-스트림 (0) | 2019.08.01 |
자바 기초 NCS교육과정(39)-예외처리 (0) | 2019.08.01 |