Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как работать с LinkedList? / 5 сообщений из 5, страница 1 из 1
24.07.2006, 22:10
    #33875183
java guru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как работать с LinkedList?
Код: plaintext
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.
29.
30.
31.
32.
 import  java.io.File;
 import  java.io.IOException;
 import  java.io.PrintStream;
 import  java.util.LinkedList;

 public   class  MyTest{

     public  MyTest(String filename)  throws  IOException {
        printStream =  new  PrintStream( new  File(filename));

        linkedList =  new  LinkedList<String[]>();
    }

     void  add(String[] strings) {
        linkedList.addLast(strings);
 //       printStream.format("%40s%40s%40s%40s%40s%40s%40s\n\r", strings);
    }


     void  dump()  throws  IOException {
        for  (String[] array1 : linkedList) {
            printStream.format(array1[ 0 ].concat(array1[ 1 ]).concat("\n\r"));
        }
        printStream.close();

    }

     private  LinkedList<String[]> linkedList;
     private  PrintStream printStream;
}

Когда вызываю MyTest.dump() из main(), то почему-то в файл сбрасывается содержимое последнего элемента списка linkedList в количестве, равном linkedList.size(), хотя я ожидаю, что сбросятся все элементы по очереди. Что я делаю не так?
...
Рейтинг: 0 / 0
24.07.2006, 22:10
    #33875184
java guru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как работать с LinkedList?
Код: plaintext
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.
29.
30.
 import  java.io.File;
 import  java.io.IOException;
 import  java.io.PrintStream;
 import  java.util.LinkedList;

 public   class  MyTest{

     public  MyTest(String filename)  throws  IOException {
        printStream =  new  PrintStream( new  File(filename));

        linkedList =  new  LinkedList<String[]>();
    }

     void  add(String[] strings) {
        linkedList.addLast(strings);
 //       printStream.format("%40s%40s%40s%40s%40s%40s%40s\n\r", strings);
    }


     void  dump()  throws  IOException {
        for  (String[] array1 : linkedList) {
            printStream.format(array1[ 0 ].concat(array1[ 1 ]).concat("\n\r"));
        }
        printStream.close();

    }

     private  LinkedList<String[]> linkedList;
     private  PrintStream printStream;
}
Когда вызываю MyTest.dump() из main(), то почему-то в файл сбрасывается содержимое последнего элемента списка linkedList в количестве, равном linkedList.size(), хотя я ожидаю, что сбросятся все элементы по очереди. Что я делаю не так?
...
Рейтинг: 0 / 0
24.07.2006, 22:12
    #33875186
java guru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как работать с LinkedList?
При этом операция
Код: plaintext
//       printStream.format("%40s%40s%40s%40s%40s%40s%40s\n\r", strings);
если ее раскомментировать, работает правильно
...
Рейтинг: 0 / 0
30.07.2006, 19:20
    #33887758
java guru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как работать с LinkedList?
Up
...
Рейтинг: 0 / 0
30.07.2006, 20:02
    #33887784
java guru
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как работать с LinkedList?
Разобрался. Оказывается, когда я добавлял в linkedList в главном методе, я добавлял ссылки на один и тот же объект, массив String[]. После того, как я в цикле стал создавать каждый раз новый массив String[] и уже его добавлять в linkedList, все заработало правильно. Надо было String[] s = new String[2]; перенести из начала метода в тело цикла. Мда.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как работать с LinkedList? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]