2015-01-03 3 views
0

arraylist에서 일부 값을 저장하려고하지만 어떻게 든 arraylist (200)에서 단 하나의 값으로 덮어 쓰게됩니다.arraylist에서 값을 덮어 쓰지 않도록하십시오.

final String[] titles = new String[urls.length]; 

    for (int i = 0; i < titles.length; i++){ 
     ArrayList<Integer> valuesList = new ArrayList<Integer>(); 
      valuesList.add(page.getTopicCount()); // returns 4 values (50,100,150,200) 
       System.out.println("Element: " + valuesList.toString()); 
        // returns only value 200 
    } 

page.getTopicCount()이 (50 100 150 200) 1 줄에 4 개 개의 값을 반환 코드 마지막 하나 (200)는 ArrayList에 추가됩니다하지만 난 그들 모두를 절약 할 수있는 방법을 찾기 위해 노력하고있다 4 별도.

어떤 옵션이 있습니까? (SharedPreferences, 파일에 저장, 다른 루프를 작성해야합니까?)

나는 이미 약간의 조사를했고 this 페이지로 끝났지 만, 이것이 작동하는지 모르겠다.

시 :

valuesList.add("50"); 
valuesList.add("100"); 
etc.. 

편집 : getTopicCount는 SAXParser를 클래스의 일부 코드 아래 참조 :

public void endElement(final String uri, final String localName, final String qName) 
     throws SAXException { 
// 

} else if (localName.equals("topiccount")) { 
     in_topiccount = true; 
     sb = new StringBuilder(); 
    } 
// 

    else if (localName.equals("topiccount")) { 
     in_topiccount = false; 
     forumPage.setTopicCount(Integer.parseInt(sb.toString())); //returns 50 100 150 200 
     sb = null; 
    } 
// 
} 
4 개 값은 지속적 따라서는로 추가 할 수있는 옵션은 없다, 변화
+1

'page.getTopicCount()'와 반환 유형은 무엇입니까? – SorryForMyEnglish

+0

안녕하세요, 편집 내역 – Bjorn

답변

2

for 루프 내부에서 값 목록 ArrayList를 초기화합니다. 각 반복마다 새 ArrayList를 만들고 하나의 요소를 추가 한 다음 삭제합니다. 결과적으로 결국 마지막으로 작성한 ArrayList에 대한 참조 만 갖게됩니다.이 ArrayList에는 200 개 밖에 가질 수 없습니다.

ArrayList<Integer> valuesList = new ArrayList<Integer>(); 
for (int i = 0; i < titles.length; i++){ 
      valuesList.add(page.getTopicCount()); // returns 4 values (50,100,150,200) 
    }  
    System.out.println("Element: " + valuesList.toString()); 

편집 :

는 아마도 싶은 것은 같은 것입니다 본질적으로, 한번의 ArrayList를 만든 다음 for 루프에에 요소를 삽입합니다.

+0

안녕 La Dee Dah 님, 이미 같은 문제를 시도했습니다. 200 개만 추가되고 나머지는 덮어 씁니다. – Bjorn

+0

title.length와 page.getTopicCount()가 원하는 것을 반환하고 있습니까? http://ideone.com/sNIeSH는이 두 코드가 이상한 값이 아닌 경우이 코드가 어떻게 작동하는지 보여줍니다. – Bob

+0

내게 이것은 문제가 두 가지임을 의미합니다. 1 : for 루프가 올바르지 않습니다. 2 : 말한 것처럼 for 루프를 수정해도 여전히 출력이 틀리면 titles 또는 page.getTopicCount()가 원하는대로 작동하지 않습니다. – Bob

관련 문제