методы - Преобразование объекта Java Map в объект Properties



hashmap for (5)

Вы можете сделать это с помощью Commons Configuration:

Properties props = ConfigurationConverter.getProperties(new MapConfiguration(map));

http://commons.apache.org/configuration

Кто-нибудь может предоставить мне лучший способ, чем ниже, для преобразования объекта Java Map в объект Properties?

    Map<String, String> map = new LinkedHashMap<String, String>();
    map.put("key", "value");

    Properties properties = new Properties();

    for (Map.Entry<String, String> entry : map.entrySet()) {
        properties.put(entry.getKey(), entry.getValue());
    }

благодаря


Простое использование putAll()

Properties pro = new Properties();
pro.putAll(myMapObject);

Поскольку он принимает карту в качестве входных данных.


вы также можете использовать apache commons-collection4

org.apache.commons.collections4.MapUtils#toProperties(Map<K, V>)

пример:

Map<String, String> map = new LinkedHashMap<String, String>();

map.put("name", "feilong");
map.put("age", "18");
map.put("country", "china");

Properties properties = org.apache.commons.collections4.MapUtils.toProperties(map);

см. javadoc

https://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/MapUtils.html#toProperties(java.util.Map)


Попробуйте MapAsProperties от Cactoos :

import org.cactoos.list.MapAsProperties;
import org.cactoos.list.MapEntry;
Properties pros = new MapAsProperties(
  new MapEntry<>("foo", "hello, world!")
  new MapEntry<>("bar", "bye, bye!")
);

Я нашел этот пример. Генерируйте случайные числа :

В этом примере генерируются случайные целые числа в определенном диапазоне.

import java.util.Random;

/** Generate random integers in a certain range. */
public final class RandomRange {

  public static final void main(String... aArgs){
    log("Generating random integers in the range 1..10.");

    int START = 1;
    int END = 10;
    Random random = new Random();
    for (int idx = 1; idx <= 10; ++idx){
      showRandomInteger(START, END, random);
    }

    log("Done.");
  }

  private static void showRandomInteger(int aStart, int aEnd, Random aRandom){
    if ( aStart > aEnd ) {
      throw new IllegalArgumentException("Start cannot exceed End.");
    }
    //get the range, casting to long to avoid overflow problems
    long range = (long)aEnd - (long)aStart + 1;
    // compute a fraction of the range, 0 <= frac < range
    long fraction = (long)(range * aRandom.nextDouble());
    int randomNumber =  (int)(fraction + aStart);    
    log("Generated : " + randomNumber);
  }

  private static void log(String aMessage){
    System.out.println(aMessage);
  }
} 

Пример выполнения этого класса:

Generating random integers in the range 1..10.
Generated : 9
Generated : 3
Generated : 3
Generated : 9
Generated : 4
Generated : 1
Generated : 3
Generated : 9
Generated : 10
Generated : 10
Done.




java map properties