2011-09-10 2 views
0

CSV 파일을 가져 와서 내용의 테이블을 만드는 프로그램을 작성 중입니다. 그런 다음 잘못된 항목을 제거하는 필터를 적용하고 .add (originalTable())를 사용하여 다른 ArrayList에 저장하려고합니다.다음 변수로 증가하는 방법은 무엇입니까?

문제는 다른 필터를 적용하고 싶습니다. 증가 된 숫자로 각각 다른 ArrayList를 얻습니다. 따라서 OriginalTable은 filter1보다 filter0이 filter2보다 큽니다. 내가 겪고있는 문제는 하나 이상의 필터 수를 늘리는 방법입니다. 좋아

 State Population Death 
     1  10000  10 
     2  10001  10 
     3  10002  0 
     4  1200  100 
     5  1   900 
     6  1213  900 

난 그냥 ArrayList를, 컬럼에 저장 행되는 ArrayList를 하나의 ArrayList를 내 테이블이 같은 데이터를 가지고 있으므로. 지금은 내가 10 죽음을 죽음보다 작거나 같은 원하는 필터를 적용하고이 나에게 필터라는 또 다른 "표"를 제공해야한다고하자있는 나에게 줄 것이다 :

 State Population Death 
     1  10000  10 
     2  10001  10 
     3  10002  0 

이 호출됩니다 필터 1가 지금은 다른 적용 이 말에 걸러 내면 인구가 10,000 명 이상인 사람들에게만이 사실을 알려주고 filter2라고하는 또 다른 "테이블"이 생길 것입니다. 다음과 같이 보일 것이다 :

 State Population Death 
     2  10001  10 
     3  10002  0 

내가 필터 2 할 필터 1을 filter0에서를 증가하는 방법을 모르는 그들은마다의 ArrayList의 ArrayList를해야합니다. 정말 고마워요! :)

 else if (task.contentEquals("filter")){ 
      String filter = keyboard.nextLine(); 
      String[] filterArray = filter.split(" "); 
      int colmn = 0; 
      String predicate ; 
      String Value = "W"; 
      if(filter.contains("-v ")){ 
      // do the seperate cutoff strings System.out.println("yeah it contains v"); 
      }else{ 
       colmn = Integer.parseInt(filterArray[1]); 
       predicate = filterArray[2]; 
       //Value = filterArray[3]; 
       System.out.println(colmn +" "+ predicate + " "+Value); 
      } 
      for(int i =0; i <table.size(); i++){ 
       if(table.get(i).get(colmn).toString().contains(Value)){ 
        filterTable.add(table.get(i)); 
        System.out.println(table.get(i)); 
       } 
      } 
+4

문제를 자세히 설명하기 위해 몇 가지 코드를 게시 해주십시오. –

+0

필터 [-v ] (<| <= | = | > = |>) 이렇게하면 지정 된 열에 지정된 조건을 충족하는 테이블 뷰만 생성됩니다. 새로 생성 된보기에 다음 사용 가능한보기 번호가 지정되며이 번호는 사용자에게보고됩니다 (명령이 실패하지 않는다고 가정 할 경우). – Ashley

+2

어떤 종류의 "테이블"입니까? 어떤 종류의 필터? 어떤 라이브러리 (ies)를 사용하고 있습니까? 어떤 맥락인가? –

답변

0

구아바 라이브러리를 탐색해야합니다. 라이브러리는 거대하지 않으며 oops 원칙을 사용하여 이러한 문제를 해결할 수있는 몇 가지 방법을 제공합니다. 좋은 개체 구조를 유지하는 데 도움이됩니다.

+0

나는 그것들을 걸러 낼 수도있다. 그러나 나는 그것을 어떻게 든 증가 시키도록 이전 필터를 쓰는 것을 계속한다. 어쨌든 배열 목록에 추가 할 수 있습니까? 매번 증가 할 것입니다. – Ashley

+0

오버 쓰기는 동일한 참조에 계속 글을 남기는 것 같습니다. 필터는 덮어 쓰지 않도록 목록의 새 복사본을 반환해야합니다. 코드, 특히 문제를 알려 주시면 도움을 드릴 수 있습니다. – Scorpion

+0

그래, 원래 게시물을 업데이트했습니다. :) – Ashley

관련 문제