|  24.10.2013, 14:31 | #41 | 
| Участник | |
|  | 
|  24.10.2013, 14:35 | #42 | 
| Участник | Цитата: ключ может быть и контейнером listKey =[list.InternalSp, list.ItemId, someOther]; избавитесь от строковых операций и лишней работы сборщика мусора, которому приходится прибираться среди строк. 2. не увлекайтесь map'ами и прочими структурами - они живут в памяти и требуют кучу памяти для большого количества данных. лучше уж временные таблицы. | 
|  | |
| За это сообщение автора поблагодарили: user_ax (1). | |
|  24.10.2013, 14:42 | #43 | 
| Участник | Цитата: Да, увлёкся, просто прошлые 3 проекта использовал мапы только, понравились  Спасибо за подсказку, вроде придумал как, попробую, надеюсь получиться. | 
|  | 
|  24.10.2013, 14:45 | #44 | 
| Участник | 
			
			Уф... Слияние 2 МАПов и сортировка испортит Вам всю затею в данном случае.
		 | 
|  | 
|  24.10.2013, 14:46 | #45 | 
| Участник | 
			
			Я бы не стал заморачиваться...  Цитата: | 
|  | 
|  24.10.2013, 14:47 | #46 | 
| Участник | Цитата: Хорошо, тогда подскажите, кк сделать тогда объединённое моженство ключей, а данные оставить ? По ключу ходить в цикле итератором я так понял, а внутри как данные из мапов выбирать? | 
|  | 
|  24.10.2013, 14:55 | #47 | 
| Участник | 
			
			Лучше не итератором, а энумератором. X++:     setEnumerator s;
    Set unionKey;
    Map map1, map2;
    
    unionKey = set::union(map1.keySet(), map2.keySet());
    s = unionKey.getEnumerator();
    
    while (s.moveNext())
    {
        if (map1.exists(s.current()))
        {
            map1.lookup(s.current());
        }
        if (map2.exists(s.current()))
        {
            map2.lookup(s.current());
        }
    }Последний раз редактировалось S.Kuskov; 24.10.2013 в 14:57. | 
|  | |
| За это сообщение автора поблагодарили: mazzy (2), user_ax (1). | |
|  24.10.2013, 14:55 | #48 | 
| Участник | 
			
			S.Kuskov Пропустил эту подсказку. Спасибо.   | 
|  | 
|  24.10.2013, 15:00 | #49 | 
| Участник | Цитата: 
		
			Сообщение от S.Kuskov
			   Лучше не итератором, а энумератором. X++:     setEnumerator s;
    Set unionKey;
    Map map1, map2;
    
    unionKey = set::union(map1.keySet(), map2.keySet());
    s = unionKey.getEnumerator();
    
    while (s.moveNext())
    {
        if (map1.exists(s.current()))
        {
            map1.lookup(s.current());
        }
        if (map2.exists(s.current()))
        {
            map2.lookup(s.current());
        }
    } | 
|  | 
|  24.10.2013, 15:13 | #50 | 
| Участник | 
			
			Не знал, что можно применять сразу и множества и мапы... Работает так, как нужно! Спасибо всем за потраченое время и непосильную помощь! Раздал "+"   Последний раз редактировалось user_ax; 24.10.2013 в 15:16. | 
|  |