Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
формирование коллекции
#1
доброго вечера

подскажите плз - как правильно сформировать список игроков НЕ НУБЛ

я пошел таким путем (после гугла):

Код:
List<L2PcInstance> all_players = new ArrayList<L2PcInstance>(L2World.getInstance().getAllPlayers());

_log.info("all players before: " + all_players.size());

Iterator<L2PcInstance> it = all_players.iterator();
while(it.hasNext()){
    if(!it.next().isNoble())
        it.remove();
}

_log.info("all players after: " + all_players.size());
Ответ
#2
slayer48 Написал:доброго вечера

подскажите плз - как правильно сформировать список игроков НЕ НУБЛ

я пошел таким путем (после гугла):

Код:
List<L2PcInstance> all_players = new ArrayList<L2PcInstance>(L2World.getInstance().getAllPlayers());

_log.info("all players before: " + all_players.size());

Iterator<L2PcInstance> it = all_players.iterator();
while(it.hasNext()){
    if(!it.next().isNoble())
        it.remove();
}

_log.info("all players after: " + all_players.size());

1) итератор? но зачем? forEach цикл больше не круто юзать?
2) L2World.getInstance().getAllPlayers(). Зачем формировать коллекцию если она существует в этой функции.

Код:
for (L2PcInstance players : L2World.getInstance().getAllPlayers())
...
Ответ
#3
Мне нужно создать коллекцию только из isNoble() персов
Ответ
#4
slayer48 Написал:Мне нужно создать коллекцию только из isNoble() персов

ну так в чем проблема. код выше, дерзайте.
Ответ
#5
slayer48 Написал:Мне нужно создать коллекцию только из isNoble() персов

Код:
Set<L2PcInstance> _playersNoble = new HashSet<>();
        
        _log.info("all players before: " + L2World.getInstance().getPlayers().size());
        
        for (L2PcInstance plr : L2World.getInstance().getPlayers())
        {
            if (plr.isNoble())
            {
                _playersNoble.add(plr);
            }
        }
        
        _log.info("all players after: " + _playersNoble.size());
Ответ
#6
В яве нет LINQ? Делается в 1 строчку.
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#7
Zubastic Написал:В яве нет LINQ? Делается в 1 строчку.

PHP код:
<?php 
Set
<L2PcInstance> _playersNoble = new HashSet<>();

_log.info("all players before: " + L2World.getInstance().getPlayers().size());

_playersNoble.addAll(L2World.getInstance().getPlayers().stream().filter(plr -> plr.isNoble()).collect(Collectors.toList()));

_log.info("all players after: " + _playersNoble.size());
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)