Если вы хотите, чтобы элементы в коллекции были повторены, рекомендуется использовать хэшсет следующим образом:
// Список - это Arraylist с повторяющимися элементами. Hashset hset = new Hashset (список); list.clear (); list.addall (hset);
Но иногда мы хотим удалить элемент со значением атрибута дубликата (одинаковое значение), следующим образом:
Network NW1 = New Network (); NW1.id = 1; NW1.DESTIP = "192.168.1.3"; сеть NW2 = New Network (); NW2.ID = 2; NW2.DESTIP = "192.168.1.5"; сеть NW3 = New Network (); NW3.ID = 3; NW3.Destip = "192.168.1.1.1.4" 3 ". Network (); nw4.id = 4; nw4.destip = "192.168.1.4"; сеть nw5 = new Network (); nw5.id = 5; nw5.destip = "192.168.1.3"; mlist.Add (NW1); MLIST.ADD (NW2); MLIST.ADD (NW3); MLIST.ADD (NW4); MLIST.ADD (NW5);
Очевидно, что значения IP в NW1, NW3 и NW5 одинаковы. Нам нужен только один, так как мы можем пройти и удалить значения элементов, используя ArrayList?
for (int i = 0; i <mlist.size ()-1; i ++) {for (int j = mlist.size ()-1; j> i; j--) {if (mlist.get (j) .destip.equals (mlist.get (i) .destip)) {mlist.remove (j);Два для петель достаточно. Не забудьте сравнить их один за другим от хвоста. Таким образом, после того, как определенный символ элемента требует удаления, необходимо убедиться, что тот, который был удален выше хвоста, и петля не будет запутана.
Выше приведено полное содержание метода ArrayList (рекомендуется), который приносит вам редактор. Я надеюсь, что это будет полезно для вас и поддержать wulin.com больше ~