-
Java Todo List 만들기 : ArrayList사용카테고리 없음 2021. 7. 13. 22:59
// vo import처리 import com.mococo.dataset.TodoData; // Todo.java 클래스 - 추후 코드들은 전부 해당 클래스 아래 있는 것임 public class Todo{ ArrayList<TodoData> todoList = null; // 하나의 계획 (TodoData Vo객체) 초기화 private int todoId = 0; // 각 계획의 id값 public Todo() throws Exception{ try { todoList = new ArrayList<TodoData>(); } catch(Exception e) { throw e; } } } // ArrayList 안에 값 넣어주기 public void insert(String subject, String startDate, String endDate) throws Exception { try { // 앞에 4자리 띄워라 0001 처럼 String todoDataId = String.format("%04d", ++this.todoId); TodoData todoData = new TodoData(); todoData.setId(todoDataId); todoData.setSubject(subject); todoData.setStartDate(startDate); todoData.setEndDate(endDate); todoData.setComplete(false); todoList.add(todoData); } catch(Exception e) { throw e; } } // 어레이리스트 값 선택하기 (어떤 계획 쓸건지) - 서비스 단에서 상세히 기술 public ArrayList<TodoData> select() throws Exception { try { return todoList; } catch(Exception e) { throw e; } }MVC 패턴을 사용하였다. 단, DB는 사용하지 않았다.
Vo
각 계획에 대한 id 값을 부여했고, 내용(subject) , 실행일자(startDate), 종료일자(endDate), 실행여부(isComplete)로 잡았다.
package 패키지위치.dataset; public class TodoData { private String id; private String subject; private String startDate; private String endDate; private boolean isComplete; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getStartDate() { return startDate; } public void setStartDate(String startDate) { this.startDate = startDate; } public String getEndDate() { return endDate; } public void setEndDate(String endDate) { this.endDate = endDate; } public boolean isComplete() { return isComplete; } public void setComplete(boolean isComplete) { this.isComplete = isComplete; } @Override public String toString() { return "[" + id + " / " + subject + " / " + startDate + " / " + endDate + " / " + isComplete + "]"; } }Service
ArrayList 만들기 , 뼈대만들기
import 저장위치.TodoData; // vo import처리 public class Todo { ArrayList<TodoData> todoList = null; private int todoId = 0; public Todo() throws Exception { try { todoList = new ArrayList<TodoData>(); } catch(Exception e) { throw e; } } // 모든 예외처리는 호출하는 쪽에서 처리해야한다. 즉, 여기서 에러를 처리하면 안되는 것. public void insert(String subject, String startDate, String endDate) throws Exception { try { // 0001과 함께 네자리수로 출력 String todoDataId = String.format("%04d", ++this.todoId); TodoData todoData = new TodoData(); todoData.setId(todoDataId); todoData.setSubject(subject); todoData.setStartDate(startDate); todoData.setEndDate(endDate); todoData.setComplete(false); // default값으로 false를 잡음 todoList.add(todoData); } catch(Exception e) { throw e; } } public ArrayList<TodoData> select() throws Exception { try { return todoList; } catch(Exception e) { throw e; } }Controller
실제 ArrayLIst에 값 넣기
import com.mococo.dataset.TodoData; import com.mococo.service.main.Todo; class TodoTest { @Test void test() { try { Todo todo = new Todo(); // 실제 값 넣기 - id와 isComplete는 자동으로 들어감 todo.insert("점심먹기", "20210712", "20210713"); todo.insert("여행가기", "20210713", "20210720"); ArrayList<TodoData> todoData = todo.select(); for(TodoData data : todoData) { System.out.println(data.getId() + " / " + data.getSubject() + " / " + data.getStartDate() + " / " + data.getEndDate() + " / " + data.isComplete() ); } } catch (Exception e) { e.printStackTrace(); } } }반응형