Доброго времени суток, уважаемые форумчане, вновь ищу вашей помощи! Обычно стараюсь писать кратко, но сейчас, я даже толком не знаю, как сформулировать, что хочу.
Суть стоящей передо мной задачи такая: необходимо осуществить максимально быстрый перебор вхождений сборки, для получения спецификации. Тонкость в том, что наиболее эффективный - перебор документов, мне не подходит, так как мне необходимо игнорировать элементы, являющиеся частью сборочного узла. Ну то есть: я осуществляю перебор, дошел до сборки, дальше идет проверка, сборочный ли это узел (на него оформляется отдельный чертеж) и его массу берется целиком, или же сборку надо "расчленить" и посчитать отдельно. В общем понятно, что цели можно достичь обычным перебором вхождений с рекурсией, но мне хотелось бы сделать это более эффективно, так как у нас бывают огромные сборки.
Основная проблема в том, что у меня может быть 100 одинаковых вхождений внутри сборки, очень хотелось бы не перебирать их все, магическим образом сразу узнать их количество и игнорировать их в дальнейшем, то бишь вычеркнуть из перебираемой коллекции.
То есть вроде как суть задачи сводится к :
1. создать коллекцию вхождений
2. узнать как подсчитать количество конкретного вхождения
3. вычеркнуть все его копии, чтобы не перебирать в дальнейшем.
Буду благодарен за любую идею по поводу каждого из вопросов, либо альтернативного решения.
П.С. На форуме в нескольких топиках обсуждалась данная тема косвенно, но помочь мне найти они не смогли. Решил создать отдельный, надеюсь совместными усилиями, как всегда, решение будет найдено, и каждый им сможет воспользоваться в дальнейшем.