MATSIM
CollectionUtils.java
Go to the documentation of this file.
1 /* *********************************************************************** *
2  * project: org.matsim.*
3  * *
4  * *********************************************************************** *
5  * *
6  * copyright : (C) 2010 by the members listed in the COPYING, *
7  * LICENSE and WARRANTY file. *
8  * email : info at matsim dot org *
9  * *
10  * *********************************************************************** *
11  * *
12  * This program is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU General Public License as published by *
14  * the Free Software Foundation; either version 2 of the License, or *
15  * (at your option) any later version. *
16  * See also COPYING, LICENSE and WARRANTY file *
17  * *
18  * *********************************************************************** */
19 
20 package org.matsim.core.utils.collections;
21 
22 import java.util.Collection;
23 import java.util.Collections;
24 import java.util.LinkedHashSet;
25 import java.util.Set;
26 
27 import org.matsim.api.core.v01.Id;
29 
33 public final class CollectionUtils {
34  private CollectionUtils(){} // to not intantiate
35 
36  public static <T> String idSetToString( final Set<Id<T>> values ) {
37  boolean isFirst = true;
38  StringBuilder str = new StringBuilder();
39  for (Id<?> id : values) {
40  if (!isFirst) {
41  str.append(',');
42  }
43  str.append(id.toString());
44  isFirst = false;
45  }
46  return str.toString();
47  }
48 
49  public static String setToString( final Set<String> values ){
50  return collectionToString( values );
51  }
52  public static String collectionToString( final Collection<String> values ) {
53  boolean isFirst = true;
54  StringBuilder str = new StringBuilder();
55  for (String s : values) {
56  if (!isFirst) {
57  str.append(',');
58  }
59  str.append(s);
60  isFirst = false;
61  }
62  return str.toString();
63  }
64 
65  public static String [] collectionToStringArray( final Collection<String> values ) {
66  return values.toArray(new String[0] );
67  }
68 
69  public static String arrayToString( final String[] values ) {
70  boolean isFirst = true;
71  StringBuilder str = new StringBuilder();
72  for (String mode : values) {
73  if (!isFirst) {
74  str.append(',');
75  }
76  str.append(mode);
77  isFirst = false;
78  }
79  return str.toString();
80  }
81 
85  public static String[] stringToArray( final String values ) {
86  Set<String> tmp = stringToSet(values);
87  return tmp.toArray( new String[0] );
88  }
89 
93  public static Set<String> stringToSet( final String values ) {
94  if (values == null) {
95  return Collections.emptySet();
96  }
97  String[] parts = StringUtils.explode(values, ',');
98  Set<String> tmp = new LinkedHashSet<String>();
99  for (String part : parts) {
100  String trimmed = part.trim();
101  if (trimmed.length() > 0) {
102  tmp.add(trimmed.intern());
103  }
104  }
105  return tmp;
106  }
107 
108  public static Set<String> stringArrayToSet( final String [] array ) {
109  if (array == null) {
110  return Collections.emptySet();
111  }
112  Set<String> tmp = new LinkedHashSet<>();
113  for (String part : array) {
114  String trimmed = part.trim();
115  if (trimmed.length() > 0) {
116  tmp.add(trimmed.intern());
117  }
118  }
119  return tmp;
120  }
121 }
static Set< String > stringToSet(final String values)
static String setToString(final Set< String > values)
static String [] stringToArray(final String values)
static String [] collectionToStringArray(final Collection< String > values)
static String [] explode(final String str, final char delimiter, final int limit)
static Set< String > stringArrayToSet(final String [] array)
static< T > String idSetToString(final Set< Id< T >> values)
static String arrayToString(final String[] values)
static String collectionToString(final Collection< String > values)