I am trying to convert a set of integers to a single string in Java. How can I do that?
Set<Integer> s = new HashSet<>();
s.add(1);
s.add(3);
int n = s.size();
String arr[] = new String[n];
arr = s.toArray(arr);
for (String x : arr )
System.out.println(x);
Use joining:
String result = s.stream().map(String::valueOf).collect(joining());
Without Stream:
List<String> intString = new ArrayList<>();
for (Integer i : s) {
intString.add(String.valueOf(i));
}
String result = String.join("", intString);
But be careful, if you want to print those numbers in input order (which is added first will be printed first), then you'll want a LinkedHashSet to remember that order:
Set<Integer s = new LinkedHashSet<>();
With old-fashioned Java you can do it by using a StringBuilder:
StringBuilder builder = new StringBuilder();
for (Integer i : s) {
builder.append(i);
}
String result = builder.toString();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With