Collection & Generics
ArrayList<String> list=new ArrayList<String>();
for(String f:flowers)
list.add(f);
for(int i=0;i<list.size();i++)
System.out.println(list.get(i));
for(String l:list)
System.out.println(l);
- 컬렉션에 elements 삽입 요령(배열과 유사)
Class Generics(제네릭에 클래스 대입)
public class Board {
private String writer;
private String subject;
private String content;
public Board() { }
public Board(String w,String s,String c) {
this.writer=w;
this.subject=s;
this.content=c;
}
import java.util.List;
import java.util.Scanner;
import java.util.Vector;
public class VectorBoard_02 {
List<Board> list=new Vector<Board>();
- 클래스 타입으로 지정했으므로 데이터를 꺼내고 받을때도 클래스
public void inputBoard() {
Scanner sc=new Scanner(System.in);
String writer,subject,content;
System.out.println("작성자명?");
writer=sc.nextLine();
System.out.println("제목?");
subject=sc.nextLine();
System.out.println("내용?");
content=sc.nextLine();
Board data=new Board();
data.setWriter(writer);
data.setSubject(subject);
data.setContent(content);
list.add(data);
System.out.println("현재데이터 갯수: "+list.size());
}
- 클래스 변수인 data를 list 컬렉션에 추가
public void writeBoard() {
System.out.println("게시판");
System.out.println("============");
for(int i=0;i<list.size();i++)
{
Board b=list.get(i);
System.out.println("번호: "+(i+1)+"\t작성자: "+b.getWriter()
+"\n제목: "+b.getSubject()+"\t내용 "+b.getContent());
}
}
- list 컬렉션에는 클래스가 들어있으므로 그 index인 list.get( i )는 클래스 변수에 상응
public static void main(String[] args) {
VectorBoard_02 vb=new VectorBoard_02();
Scanner sc=new Scanner(System.in);
int n;
while(true)
{
System.out.println("1.추가 2.전체출력 9.종료");
n=Integer.parseInt(sc.nextLine());
if(n==1)
vb.inputBoard();
else if(n==2)
vb.writeBoard();
else if(n==9)
{
System.out.println("프로그램 종료");
break;
}
else
{
System.out.println("잘못입력했어요");
continue;
}
}
}
}
- inputBoard와 writeBoard 메소드를 호출하기 위해 변수 vb 생성
public static void main(String[] args) {
Date date=new Date();
System.out.println(date);
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm");
System.out.println(sdf1.format(date));
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd a hh:mm:ss");
System.out.println(sdf2.format(date));
SimpleDateFormat sdf3=new SimpleDateFormat("yyyy-MM-dd HH:mm EEEE");
System.out.println(sdf3.format(date));
int money=3298421;
double num=3.234321;
NumberFormat nf1=NumberFormat.getCurrencyInstance();
System.out.println(nf1.format(money));
NumberFormat nf2=NumberFormat.getInstance();
System.out.println(nf2.format(num));
System.out.println(nf2.format(money));
}
}
- NumberFormat은 new가 아닌 getCurrencyInstance 혹은 getInstance로 생성
Exception
FileWriter
import java.io.FileWriter;
import java.io.IOException;
import java.util.Date;
public class FileWriter_05 {
public static void fileWriter() {
FileWriter fw=null;
String fileName="D:\\sist0615\\file\\filetest1.txt";
try {
fw=new FileWriter(fileName);
fw.write("Have a Nice Day!!\n");
fw.write(new Date().toString());
System.out.println("파일 저장 성공");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
- fw.write 메소드에는 모두 문서형식(문자열)으로 담아야함 (→toString 사용)
- 같은 이름의 파일 생성 시 기존 파일 삭제 후 새로 생성
public static void fileWriter2() {
FileWriter fw=null;
String fileName="D:\\sist0615\\file\\filetest2.txt";
try {
fw=new FileWriter(fileName,true);
fw.write("내이름은 홍길동\n");
fw.write("===========\n");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
- FileWriter( )의 뒤 인자값이 true면 기존 파일에 내용 추가(같은 내용 반복됨)
public static void main(String[] args) {
fileWriter();
fileWriter2();
}
}