Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
Ванеек
67 / 67 / 1
Регистрация: 21.12.2012
Сообщений: 458
#1

Вывод элементов из arraylista - Java SE

15.04.2013, 16:08. Просмотров 6668. Ответов 12
Метки нет (Все метки)

Привет,подскажите ,пожалуйста,как вывести из обычного аррайлиста элементы например с первого по пятый?А то вот есть list.get,но он,как я понял может получить только один элемент.Вообще можно ли в аррайлисте так вывести,если нет,то подскажите,пожалуйста,какой-нибудь массив-коллекцию,где можно,только ,чтобы она быстро работала)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 16:08
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывод элементов из arraylista (Java SE):

Можно ли обойтись без создания внутри метода ArrayLista?
Вопрос, наверное, несколько странный, но все же. Можно ли обойтись без создания...

Вывод элементов массива
В массиве Задачи найти и вывести все наименьшие по длине элементы. String...

Разработайте программу, в которой организован ввод элементов одномерного массива и вывод данных элементов
Разработайте программу, в которой организован ввод элементов одномерного...

Вывод элементов множества, добавление элементов множества, удаление элементов множества
Надо на завтра сделать задачку на си, а я ни бум-бум, не выходит ничего. надо...

Вывод элементов змейкой
Вводится двумерный массив целых чисел, вывести его элементы змейкой по...

Цикличный вывод элементов
Здравствуйте. Подскажите пожалуйста, как правильно сделать, что бы процедура...

12
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 17:20 #2
если аррей лист - это будет быстро:
Java
1
2
3
for (int i = 0; i < 5; i++) {
   System.out.println(list.get(i));
}
1
Ванеек
67 / 67 / 1
Регистрация: 21.12.2012
Сообщений: 458
15.04.2013, 18:04  [ТС] #3
Точно через цикл))
Вот новый алгоритм вывода страниц:
Java
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.Scanner;
 
public class jsp {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        ArrayList<String> sizel = new ArrayList<String>();
        sizel = pagef();
        double sizelist = sizel.size();
        double page = sizelist / 30;
        double pagel = Math.ceil(page);// всего страниц
 
        System.out.println("Какую страницу вам показать?: ");
        Scanner sc = new Scanner(System.in);
        int pageint = 0;// номер страницы
        try {
            pageint = sc.nextInt();
            double endch = pageint * 30;// конечное число показа
            double startch = endch - 30;// начальное число показа
            if (endch > pagel * 30) {
                System.out.println("страниц не найдено");
            } else {
                System.out.println("======================");
 
                for (int i = (int) startch; i < endch; i++) {
                    System.out.println(sizel.get(i));
                }
                System.out.println("======================");
 
            }
 
        } catch (InputMismatchException e) {
            System.out.println("фиг вам .не число это");
 
        } catch (IndexOutOfBoundsException e) {
            System.out.println("нет больше");
        }
 
    }
 
    static ArrayList<String> pagef() {
        ArrayList<String> page = new ArrayList<String>();
        BufferedReader br = null;
        String s = null;
        File file = new File("C:\\prov");
        String list[] = file.list();
 
        try {
            for (int i = 0; i < list.length; i++) {
                File fileread = new File("C:\\prov\\" + list[i]);
                br = new BufferedReader(new InputStreamReader(
                        new FileInputStream(fileread), "UTF-8"));
                while ((s = br.readLine()) != null) {
                    page.add(s + "\n");
                }
                br.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
 
        return page;
 
    }
}
Добавлено через 47 секунд
Выводит без скобочек

Добавлено через 17 секунд
)))

Добавлено через 31 минуту
Только возник вопрос,а как выводить через каждые три строчки какой-нибудь элемент,например:
=========
3 line
=========
=========
3line
=========
Т.е ,чтобы каждые три строчки были обрамлены,например такими равно
0
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 18:06 #4
э..
ну по идее шото типа

Java
1
2
3
if (i % 3) {
   // print
}
1
Ванеек
67 / 67 / 1
Регистрация: 21.12.2012
Сообщений: 458
15.04.2013, 18:08  [ТС] #5
А в коде как будет моем?это в for вставить?где вывод
0
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 18:13 #6
Цитата Сообщение от Ванеек Посмотреть сообщение
А в коде как будет моем?это в for вставить?где вывод
ну по идее да. я же не знаю что оно сейчас печатает и что вы хотите увидеть. если тупо при печати через каждые три строки разделитель см. ниже. я зафтыкал в предыдущем посте. и только индекс наверное нужно сделать дополнительный, я так понимаю у вас не с нуля итерация идет

Java
1
if (i % 3 == 0){}
это типа "если остаток от деления i на 3 = 0"
1
Ванеек
67 / 67 / 1
Регистрация: 21.12.2012
Сообщений: 458
15.04.2013, 18:42  [ТС] #7
Вот,что показывает:
Java
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
33
34
Какую страницу вам показать?: 
1
======================
===============
ПЕрвая строчка первого файла
===============
===============
1 строчка 2 файла
===============
===============
ihguityyutyhuyghjyugkugyyyjgyufhdt
===============
===============
khgyjryfhyfghgygu7gug
===============
===============
khgyjryfhyfghgygu7gug
===============
===============
khgyjryfhyfghgygu7gug
===============
===============
khgyjryfhyfghgygu7gug
===============
===============
khgyjryfhyfghgygu7gug
===============
===============
khgyjryfhyfghgygu7gug
===============
===============
khgyjryfhyfghgygu7gug
===============
======================
Цитата Сообщение от AckiyBolt Посмотреть сообщение
и только индекс наверное нужно сделать дополнительный
А вот с этим можете помочь,да идет не с нуля
0
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 19:10 #8
Java
1
2
3
4
5
6
7
        int spacerIndex = 0;
        for ( int i = ( int ) startch; i < endch; i++ ) {
            System.out.println( sizel.get( i ) );
            if (spacerIndex++ % 3 == 0) {
                System.out.println("===============");
            }
        }
тестил так

Java
1
2
3
4
5
6
7
        int spacerIndex = 0;
        for ( int i = ( int ) 0; i < 20; i++ ) {
            System.out.println( i );
            if (++spacerIndex % 3 == 0) {
                System.out.println("===============");
            }
        }
вывод:

Код
0
1
2
===============
3
4
5
===============
6
7
8
===============
9
10
11
===============
12
13
14
===============
15
16
17
===============
18
19
0
Ванеек
67 / 67 / 1
Регистрация: 21.12.2012
Сообщений: 458
15.04.2013, 20:04  [ТС] #9
Спасибо))а с двух сторон можно,пожалуйста)
Пример:
=========
1
2
3
==========
=========
1
2
3
===========
===========
.....
0
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 20:11 #10
Java
1
2
3
4
5
6
7
            if (spacerIndex++ % 3 == 0)
                System.out.println("===============");
            
            System.out.println( i );
            
            if (spacerIndex % 3 == 0)
                System.out.println("===============");
1
Ванеек
67 / 67 / 1
Регистрация: 21.12.2012
Сообщений: 458
15.04.2013, 20:25  [ТС] #11
Спасибо,просто и со вкусом))

Добавлено через 7 минут
Блин,AckiyBolt ,две последних просьбы:можете пожалуйста помочь,чтобы содержимое файлов выводилось как оно есть,т.е три строчки одного файла выводились так,а то сейчас вот(плюс выводится не тридцать строк,видите разброс :
Java
1
2
ПЕрвая строчка первого файла
1 строчка 2 файла
Вот как его исправить?Весь вывод:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Какую страницу вам показать?: 
1
======================
===============
ПЕрвая строчка первого файла
1 строчка 2 файла
ihguityyutyhuyghjyugkugyyyjgyufhdt
===============
===============
khgyjryfhyfghgygu7gug
khgyjryfhyfghgygu7gug
khgyjryfhyfghgygu7gug
===============
===============
khgyjryfhyfghgygu7gug
khgyjryfhyfghgygu7gug
khgyjryfhyfghgygu7gug
===============
===============
khgyjryfhyfghgygu7gug
======================
И вывести все 30 строк?
Java
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.Scanner;
 
public class jsp {
 
    /**
     * @param args
     */
    public static void main(String[] args) {
        ArrayList<String> sizel = new ArrayList<String>();
        sizel = pagef();
        double sizelist = sizel.size();
        double page = sizelist / 30;
        double pagel = Math.ceil(page);// всего страниц
 
        System.out.println("Какую страницу вам показать?: ");
        Scanner sc = new Scanner(System.in);
        int pageint = 0;// номер страницы
        try {
            pageint = sc.nextInt();
            double endch = pageint * 30;// конечное число показа
            double startch = endch - 30;// начальное число показа
            if (endch > pagel * 30) {
                System.out.println("страниц не найдено");
            } else {
                System.out.println("======================");
                int spacerIndex = 0;
                for (int i = (int) startch; i < endch; i++) {
                    // System.out.println(sizel.get(i));
                    if (i % 3 == 0) {
 
                        if (spacerIndex++ % 3 == 0)
                            System.out.println("===============");
                        System.out.println(sizel.get(i));
                        if (spacerIndex % 3 == 0)
                            System.out.println("===============");
 
                    }
 
                }
                System.out.println("======================");
 
            }
 
        } catch (InputMismatchException e) {
            System.out.println("фиг вам .не число это");
 
        } catch (IndexOutOfBoundsException e) {
            System.out.println("нет больше");
        }
 
    }
 
    static ArrayList<String> pagef() {
        ArrayList<String> page = new ArrayList<String>();
        BufferedReader br = null;
        String s = null;
        File file = new File("C:\\prov");
        String list[] = file.list();
 
        try {
            for (int i = 0; i < list.length; i++) {
                File fileread = new File("C:\\prov\\" + list[i]);
                br = new BufferedReader(new InputStreamReader(
                        new FileInputStream(fileread), "UTF-8"));
                while ((s = br.readLine()) != null) {
                    page.add(s);
                }
                br.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
 
        return page;
 
    }
}
Добавлено через 56 секунд
Цитата Сообщение от Ванеек Посмотреть сообщение
видите разброс
По моему это можно какой-то коллекцией решить
0
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
15.04.2013, 20:40 #12
так вы 35 и 43 строчку убейте
1
Ванеек
67 / 67 / 1
Регистрация: 21.12.2012
Сообщений: 458
15.04.2013, 21:03  [ТС] #13
Блин,чертова невнимательность)СпасибО))))большое
Java
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Какую страницу вам показать?: 
1
======================
===============
ПЕрвая строчка первого файла
Вторая строчка первого файла
Третья строчка первого файла
===============
===============
1 строчка 2 файла
2 строчка 2 файла
3 строчка 2 файла
===============
===============
ihguityyutyhuyghjyugkugyyyjgyufhdt
uigfgkugvgh
iugytfgjhhjh
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
===============
khgyjryfhyfghgygu7gug
;jhyugjghjhujhj
ojhujkguig
===============
======================
0
15.04.2013, 21:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2013, 21:03
Привет! Вот еще темы с решениями:

Вывод элементов из ArrayList
ArrayList myarr = new ArrayList(); myarr.Add(new Mars(&quot;Иванов Иван...

Вывод в цикле элементов по id
Здравствуйте, я не очень шарю, и нужна помощь. есть куча однотипных...

Вывод элементов массива
Здравствуйте ! написал простенькую программу ,хотел чтобы прога выводила все...

Вывод элементов массива
Не могу понять вроде все правильно написал нули какие то выводит. задание....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru