Можем ли мы вставить элемент в фиксированную точку в LinkedHashSet? - PullRequest
0 голосов
/ 07 мая 2020

Можем ли мы вставить элементы в фиксированную точку в LinkedHashSet. Я знаю, что мы не можем вставлять элементы в фиксированную точку в HashSet, поскольку HashSet не поддерживает Порядок вставки . Но даже несмотря на то, что LinkedHashSet поддерживает порядок вставки, я не мог понять, почему следующий код выдает ошибку:

import java.util.*;  
class Main{  
public static void main(String args[]){  
LinkedHashSet<String> set=new LinkedHashSet<String>();  
       set.add("Two");    
       set.add("Three");   
       set.add("Four");  
       set.set(1,"Five");  
       Iterator<String> i=set.iterator();  
       while(i.hasNext())  
       {  
       System.out.println(i.next());  
       }  
 }  
 }  

Ошибка:

Main.java:10: error: cannot find symbol
       set.set(1,"Five");  
          ^
symbol:   method set(int,String)
location: variable set of type LinkedHashSet<String>
1 error

1 Ответ

0 голосов
/ 07 мая 2020

Вы не можете использовать метод .set на LinkedHashSet. Я думаю, что в этом случае вам понадобится ArrayList, например:

List<String> list = new ArrayList<>();  
       list.add("Two");    
       list.add("Three");   
       list.add("Four");  
       list.set(1, "Five");  
       Iterator<String> i = list.iterator();  
       while(i.hasNext())  
       {  
       System.out.println(i.next());  
       }  
 }

Обратите внимание, что:

  • ArrayList s начинаются с 0
  • Method .set заменяет элемент, который ранее был в этой позиции, а .add добавляет туда новый элемент
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...