取一个数字(1 到 10 的长度)将其转换为索引,并且该索引的基数从 Java 中的数组中检索特定的字符串
Take a number (1 to 10 length) transform it to indexes and base of this indexes retrieve the specific Strings from an array in Java
我想从 rotatedZeros 中取出每个数组中的数字,一个一个地转换为索引,如从 [=18 中检索 String/s =]courses 并将这些数组放入 finalExcelFormula 中。或者谁能解释一下这是如何用 Map 完成的。
rotatedZeros 包含所有数字组成的所有可能的唯一数字。
例如:rotatedZeros.get(3) = [1,3,4];我想从 courses ArrayList 索引 1、3 和 4 处的字符串 return 并将此数组放入 finalExcelFormula 数组中。
观察。数字总是递增的!
List<Integer[]> rotatedZeros;
List<String[]> finalExcelFormula = new ArrayList<>(1023);
static List<String> courses = new ArrayList<>();
courses.add("\"Vue\"");
courses.add("\"Mathematics\"");
courses.add("\"Geography\"");
courses.add("\"Physics\"");
courses.add("\"Sport\"");
courses.add("\"Literature\"");
courses.add("\"Design\"");
courses.add("\"C++\"");
courses.add("\"Java\"");
courses.add("\"C#\"");
private void finalExcelFormula() {
for(int i = 0; i < rotatedZeros.size(); i++) {
for(int e = 0; e < rotatedZeros.get(i).length; e++){
Arrays.stream(finalExcelFormula.get(i)).toArray(courses.get(rotatedZeros.get(i)[e]));
}
}
}
虽然我看了你的问题 4 遍,但我不知道你想做什么...
所以这是一个基本的 hasmap 实现 ...
public static void main(String[] args) {
ArrayList<Integer[]> rotatedZeros = new ArrayList();
rotatedZeros.add(new Integer[]{1, 3, 4});
rotatedZeros.add(new Integer[]{1, 2, 5});
rotatedZeros.add(new Integer[]{1, 2, 3});
rotatedZeros.add(new Integer[]{0, 1, 2});
HashMap<Integer, String> things = new HashMap<>();
things.put(1, "vous");
things.put(2, "le");
things.put(3, "vous");
things.put(4, "couche");
things.put(5, "avec");
things.put(6, "moi");
for (Integer[] rotatedZeroArray : rotatedZeros) {
StringBuilder sb = new StringBuilder();
for (Integer integer : rotatedZeroArray) {
sb.append(things.get(integer)).append(" ");
}
System.out.println("output:" + sb.toString().trim());
}
// or weirder...
ArrayList<String> courses = new ArrayList<>();
courses.add("\"Vue\"");
courses.add("\"Mathematics\"");
courses.add("\"Geography\"");
courses.add("\"Physics\"");
courses.add("\"Sport\"");
courses.add("\"Literature\"");
courses.add("\"Design\"");
courses.add("\"C++\"");
courses.add("\"Java\"");
courses.add("\"C#\"");
HashMap<Integer, String> things2 = new HashMap();
int counter = 0;
for (String course : courses) {
things2.put(counter++, course);
}
for (Integer[] rotatedZeroArray : rotatedZeros) {
StringBuilder sb = new StringBuilder();
for (Integer integer : rotatedZeroArray) {
sb.append(things2.get(integer)).append(" ");
}
System.out.println("output:" + sb.toString().trim());
}
}
要构造 finalExcelFormula
,您需要流过 Integer[]
并在查找 courses
时为它们创建相应的 String[]
:
List<String[]> finalExcelFormula = rotatedZeros.stream()
.map(rotatedZeroArray -> Arrays.stream(rotatedZeroArray)
.map(courses::get)
.toArray(String[]::new))
.collect(Collectors.toList());
我想从 rotatedZeros 中取出每个数组中的数字,一个一个地转换为索引,如从 [=18 中检索 String/s =]courses 并将这些数组放入 finalExcelFormula 中。或者谁能解释一下这是如何用 Map 完成的。
rotatedZeros 包含所有数字组成的所有可能的唯一数字。
例如:rotatedZeros.get(3) = [1,3,4];我想从 courses ArrayList 索引 1、3 和 4 处的字符串 return 并将此数组放入 finalExcelFormula 数组中。 观察。数字总是递增的!
List<Integer[]> rotatedZeros;
List<String[]> finalExcelFormula = new ArrayList<>(1023);
static List<String> courses = new ArrayList<>();
courses.add("\"Vue\"");
courses.add("\"Mathematics\"");
courses.add("\"Geography\"");
courses.add("\"Physics\"");
courses.add("\"Sport\"");
courses.add("\"Literature\"");
courses.add("\"Design\"");
courses.add("\"C++\"");
courses.add("\"Java\"");
courses.add("\"C#\"");
private void finalExcelFormula() {
for(int i = 0; i < rotatedZeros.size(); i++) {
for(int e = 0; e < rotatedZeros.get(i).length; e++){
Arrays.stream(finalExcelFormula.get(i)).toArray(courses.get(rotatedZeros.get(i)[e]));
}
}
}
虽然我看了你的问题 4 遍,但我不知道你想做什么...
所以这是一个基本的 hasmap 实现 ...
public static void main(String[] args) {
ArrayList<Integer[]> rotatedZeros = new ArrayList();
rotatedZeros.add(new Integer[]{1, 3, 4});
rotatedZeros.add(new Integer[]{1, 2, 5});
rotatedZeros.add(new Integer[]{1, 2, 3});
rotatedZeros.add(new Integer[]{0, 1, 2});
HashMap<Integer, String> things = new HashMap<>();
things.put(1, "vous");
things.put(2, "le");
things.put(3, "vous");
things.put(4, "couche");
things.put(5, "avec");
things.put(6, "moi");
for (Integer[] rotatedZeroArray : rotatedZeros) {
StringBuilder sb = new StringBuilder();
for (Integer integer : rotatedZeroArray) {
sb.append(things.get(integer)).append(" ");
}
System.out.println("output:" + sb.toString().trim());
}
// or weirder...
ArrayList<String> courses = new ArrayList<>();
courses.add("\"Vue\"");
courses.add("\"Mathematics\"");
courses.add("\"Geography\"");
courses.add("\"Physics\"");
courses.add("\"Sport\"");
courses.add("\"Literature\"");
courses.add("\"Design\"");
courses.add("\"C++\"");
courses.add("\"Java\"");
courses.add("\"C#\"");
HashMap<Integer, String> things2 = new HashMap();
int counter = 0;
for (String course : courses) {
things2.put(counter++, course);
}
for (Integer[] rotatedZeroArray : rotatedZeros) {
StringBuilder sb = new StringBuilder();
for (Integer integer : rotatedZeroArray) {
sb.append(things2.get(integer)).append(" ");
}
System.out.println("output:" + sb.toString().trim());
}
}
要构造 finalExcelFormula
,您需要流过 Integer[]
并在查找 courses
时为它们创建相应的 String[]
:
List<String[]> finalExcelFormula = rotatedZeros.stream()
.map(rotatedZeroArray -> Arrays.stream(rotatedZeroArray)
.map(courses::get)
.toArray(String[]::new))
.collect(Collectors.toList());