Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
1 / 1 / 0
Регистрация: 07.10.2018
Сообщений: 49

Удаление элемента из коллекции

25.05.2019, 23:09. Показов 2435. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть задание : пользователь осуществляет ввод строк, которые добавляются в коллекцию. Строка не может быть добавлена в коллекцию если в ней уже есть строка такого же размера.

Проблема: удаляется уже имеющаяся строка вместе с новой или строка вообще не добавляется
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
package laba5;
 
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
 
public class task1 {
        public static void main(String[] args) {
            /*List<String> person = new LinkedList<>();
            person.add("gddddddddddgdg");
            person.add("dfoirthjkfhjr");
            person.add("sdhdhdf j fgj");
            person.add("mdh ytxvcf");*/
            //ListIterator<String> listIter = person.listIterator();
            List<String> l = new LinkedList<>();
            ListIterator<String> l2 = l.listIterator();
 
            Scanner cin = new Scanner(System.in);
            boolean is_true = false;
            while (!is_true) {
                System.out.println("<<<<<<<<<<<<<<<<<<<<<<LABA 5>>>>>>>>>>>>>>>>>>>>>>");
                System.out.println("1 - add");
                System.out.println("2 - output");
                System.out.println("3 - exit");
                System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>");
                switch (cin.nextInt()) {
                case 0:
                    l.add("abcd");
                    l.add("qwerty");
                    l.add("qwert"); 
                    break;
                case 1:
                    System.out.println("Input object:");
                    l.add(cin.next());
                    String lastElement = null;
                    l2 = l.listIterator();
                    while (l2.hasNext()) {
                        lastElement = l2.next();
                    }
                    //System.out.println("amount: " + amount);
                    //System.out.println("вывод: " + lastElement);
                    int amount_of_text = 0;
                    amount_of_text = lastElement.length();
                    //System.out.println("amountOfText: " + amount_of_text);
                    
                    String str = null;
                    l2 = l.listIterator();
                    while (l2.hasNext()) {
                        str = (String) l2.next();
                        if (str.length() == amount_of_text) {
                            //l.remove(l.size());       
                            l2.remove();
                        }
                        
                    }
                    //l.add(l.size(), lastElement);
                    break;
                case 2:
                    l2 = l.listIterator();
                    while (l2.hasNext()) {
                        System.out.println(l2.next());
                    }
                    break;
                case 3:
                    is_true = true;
                    break;
                }
            }
        }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.05.2019, 23:09
Ответы с готовыми решениями:

Удаление элемента из Set-коллекции
Проблема вот в чем, нужно из cats удалить одного &quot;кота&quot; Что я делаю не так? public class Solution { public static void...

Удаление из коллекции
Добрый день. Есть коллекция accounts, из неё нужно убрать один элемент, переданный параметром функции. Пытаюсь найти индекс элемента и...

Удаление из коллекции
Драсти! Проблемка такая. Есть два списка. Один стринговый на 50 элементов, а второй инт на 39. Суть вот в чем. В интовом листе содержаться...

5
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
25.05.2019, 23:35
зачем тывообще что-то удаляешь? в задании вроде ни слова про удаление нет
0
1 / 1 / 0
Регистрация: 07.10.2018
Сообщений: 49
25.05.2019, 23:38  [ТС]
Ну мне только это на ум пришло, что можно сначала добавить в коллекцию, потом сделать проверку на количество символов, и потом удалить последний добавленный элемент
0
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
26.05.2019, 03:28
Лучший ответ Сообщение было отмечено xAsunax как решение

Решение

Без ввода. Строки одинаковой длинны не добавляются.
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
import java.util.HashSet;
import java.util.Set;
 
public class SetNoRepeatStr{
 
    public static void main(String[] args){
        Set<String> coll = new HashSet<>(){
            @Override
            public boolean add(String s) {
                if(!this.stream().anyMatch(i -> i.length()==s.length())) {
                    super.add(s);
                    return true;
                }   
                return false;
            }
        };
        String s1 = "12345";
        String s2 = "qwer";
        String s3 = "123";
        String s4 = "qwe rty";
        coll.add(s1);
        System.out.println("Collection : "+coll);
        coll.add(s2);
        coll.add(s3);
        System.out.println("Collection : "+coll);
        coll.add(s4);
        System.out.println("Collection : "+coll);
        coll.add("123");
        coll.add("1234");
        coll.add("54321");
        coll.add("asdfg");
        coll.add("ABC");
        System.out.println("Collection : "+coll);
        coll.add("AA");
        System.out.println("Collection : "+coll);
    }
}
Code
1
2
3
4
5
6
run:
Collection : [12345]
Collection : [123, qwer, 12345]
Collection : [123, qwer, qwe rty, 12345]
Collection : [123, qwer, qwe rty, 12345]
Collection : [AA, 123, qwer, qwe rty, 12345]
Добавлено через 47 минут
можно подсократить.
Вместо этого
Java
1
2
3
4
5
6
7
8
9
10
Set<String> coll = new HashSet<>(){
    @Override
    public boolean add(String s) {
          if(!this.stream().anyMatch(i -> i.length()==s.length())) {
               super.add(s);
               return true;
          }   
          return false;
         }
};
написать это
Java
1
2
3
4
5
Set<String> coll = new HashSet<>(){
    @Override
    public boolean add(String s) {
          return !this.stream().anyMatch(i -> i.length()==s.length())? super.add(s):false;}
};

Не по теме:

Что-то сайт регулярно по пол часа если не больше не работает

0
26.05.2019, 11:28

Не по теме:

Цитата Сообщение от ViktorFX Посмотреть сообщение
Что-то сайт регулярно по пол часа если не больше не работает
захожу на него за день очень много раз, но не замечал подобного. Бывает, сильно виснет, но всё таки работает. У тебя какие-то проблемы, наверное

0
26.05.2019, 11:42

Не по теме:

Gungala, ошибка 504 или 505, не помню. Ночью очень часто. В этот раз наверное минут 7 после поста хотел его редактировать и не смог (прошло более 5-ти минут, но не слишком много), еще пришло сообщение что прошло более 5-ти минут, а при попытке ответить ниже началось. Регулярно пытался обновить, заходить и ничего.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.05.2019, 11:42
Помогаю со студенческими работами здесь

Удаление элементов коллекции
Привет всем)помогите пожалуйста разобраться почему не работает код: public static void main(String args) { ...

Удаление ключей в коллекции мап
Здравствуйте,проблема следующая : создается коллекция Treemap(который уже по дефолту сортирует ключи),т.е. такого плана ...

Сравнение и удаление элементов коллекции через Stream API по условию
Всем добрый день! Дано: class Tariff(){ private String abbreviation; private int displayOrder; public String...

Удаление элемента коллекции в коллекции коллекции )
Есть коллекция (к1), в ней элементы + коллекция (к2), Так вот в к2 тоже есть элементы, и из к2 надо удалить элемент. к1 отображается на...

Удаление элемента из коллекции со сдвигом
Подскажите пожалуйста как удалить элемент из коллекции со сдвигом как в массиве, чтобы фиксировался новый размер после удаления и...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru