клонируйте утилиту для HashMap в Java

Вот как собрать OpenSSL в Windows с использованием Cygwin и Android NDK

  1. Загрузить и извлечь исходный код OpenSSL
  2. Загрузить скрипт из https://github.com/ pstanoev / OpenSSL-For-Android
  3. Запустите cmd с пользователем Администратор и выполните

    SET CYGWIN=winsymlinks:nativestrict

  4. В то же самое окно cmd, откройте Cygwin:

    cygwin.bat

  5. Сделайте скрипт исполняемым:

    chmod +x *.sh

  6. В Cygwin выполните:

    /cygdrive/c/dev/openssl-source/openssl-build.sh /cygdrive/c/dev/android-ndk-r12b /cygdrive/c/dev/openssl-source/openssl-1.0.2j 15 armeabi-v7a 4.9 /home/user/openssl

    • Измените свои местоположения Android NDK и источники
  7. Копировать libcrypto.so и включите файлы / * в этот модуль. Используйте cp -r для копирования по ссылкам.

7
задан sigod 27 February 2013 в 09:59
поделиться

3 ответа

А как насчет других объектов, упомянутых в элементах? Насколько глубоко вы хотите создать клон?

Если элементы вашей карты не имеют глубоких ссылок и / или все Serializable , вы можете сериализовать карту через ObjectOutputStream в ByteArrayOutputStream , а затем сразу десериализовать его.

Единственная альтернатива - сделать это вручную.

12
ответ дан 6 December 2019 в 15:29
поделиться

Как только вы узнаете, что элементы вашей пары ключ / значение можно клонировать:

HashMap<Foo, Bar> map1 = populateHashmap();
HashMap<Foo, Bar> map2 = new HashMap<Foo, Bar>();

Set<Entry<Foo, Bar>> set1 = map1.entrySet();
for (Entry<Foo, Bar> e : l)
    map2.put(e.getKey().clone(), e.getValue().clone());
1
ответ дан 6 December 2019 в 15:29
поделиться

Взгляните на метод deepClone на http://www.devdaily.com/java/jwarehouse/netbeans-src/db/libsrc/org/netbeans/lib/ddl /impl/SpecificationFactory.java.shtml. Он не является универсальным, но включает несколько встроенных типов (включая сам HashMap, рекурсивно) и, очевидно, может быть расширен.

0
ответ дан 6 December 2019 в 15:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: