일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바예제
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 패스트캠퍼스후기
- 디자인패턴
- 패스트캠퍼스
- js
- javabasic
- 자바기초
- Spring
- DesignPattern
- 직장인인강
- java기초
- 패캠챌린지
- 데이터베이스
- 리눅스
- 자바기본
- 재택근무
- 자바연습문제
- ncs
- 국비
- java
- linux
- 웹
- String
- 직장인자기계발
- DB
- 스프링
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- 자바
- 디자인
- 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 |