Как читать вектор в Java
Я использовал "combinatoricslib" для генерации комбинации из массива объектов. Но результат отображается в виде вектора. Я хочу знать, как читать только одно значение.
Вот код
// Create the initial vector
ICombinatoricsVector<String> initialVector = Factory.createVector(
new String[] { "red", "black", "white", "green", "blue" } );
// Create a simple combination generator to generate 3-combinations of the initial vector
Generator<String> gen = Factory.createSimpleCombinationGenerator(initialVector, 3);
// Print all possible combinations
for (ICombinatoricsVector<String> combination : gen) {
System.out.println(combination);
}
Это результат.
CombinatoricsVector=([red, black, white], size=3)
CombinatoricsVector=([red, black, green], size=3)
CombinatoricsVector=([red, black, blue], size=3)
CombinatoricsVector=([red, white, green], size=3)
CombinatoricsVector=([red, white, blue], size=3)
CombinatoricsVector=([red, green, blue], size=3)
CombinatoricsVector=([black, white, green], size=3)
CombinatoricsVector=([black, white, blue], size=3)
CombinatoricsVector=([black, green, blue], size=3)
CombinatoricsVector=([white, green, blue], size=3)
Но он имеет комбинацию массива и размера. Но я хочу получить только массив. как получить его. Пожалуйста, помогите мне. Я новичок в Java.
Заранее спасибо.
4 ответа
Вам просто нужно прочитать Javadoc. Мне понадобилось 5 секунд, чтобы найти его в Google: http://combinatoricslib.googlecode.com/svn/tags/release21/doc/org/paukov/combinatorics/ICombinatoricsVector.html
java.util.List<T> getVector()
Возвращает вектор как список элементов
Я понимаю, что то, что вы используете здесь, является примером combinatorics.CombinatoricsVector
Оно имеет getVector
метод, который возвращает List
всех элементов в векторе, как это (в данном случае, все цвета) и getValue(int index)
метод, который позволяет получить объект по определенному индексу.
Вы можете попробовать это:
Generator<String> gen = Factory.createSimpleCombinationGenerator(initialVector, 3);
// Print all possible combinations
for (ICombinatoricsVector<String> combination : gen) {
System.out.println(combination.getValue(0)); // This gets the first value from the vector
System.out.println(combination.iterator().next()); // This is another way to do it
}
Проверьте Javadoc для деталей.
Возможно, это будет хорошо работать для вас:
// Print all possible combinations
for (ICombinatoricsVector<String> combination : gen) {
System.out.println(Arrays.toString(combination.toArray()));
}