У меня есть Loop, который ищет словарь, извлекает слова, которые я отфильтровал, а затем помещает их в массивList. Затем я хочу уточнить свой поиск и извлечь слова из этого списка arrayList и поместить его в другой. Есть ли способ генерации arrayList? часто то, что я пытаюсь сделать, я, возможно, не знаю точно, сколько массивов мне может понадобиться.Как автоматически создать arraylist?
У меня есть клавиатура мобильного телефона с 3-4 буквами, назначенными за номер. например, номер 1 (a, b, c). Я пытаюсь написать метод, который, например, когда я ввожу 1234, я бы хотел, чтобы он предсказал слово, которое я пытаюсь написать, с помощью библиотеки слов, к которой имеет доступ программа. поэтому, когда я нажимаю 1, я извлекаю из библиотеки все уникальные слова, начинающиеся с a, b или c. Затем я рассмотрю число 2 (d, e, f), которое было нажато, и извлеките из предыдущего списка все слова, начинающиеся с a, b, c, но имеющие в качестве второго символа d, e или f. То, что я делаю, пытается генерировать новый arraylist, чтобы вставлять новые отфильтрованные слова. Я просто не знаю, как автоматизировать генерацию создания arraylists.
мой пример кода:
//cycles through each possible alaphabetical characters represented by the numbers that constitute "signature"
for (int countSignature = 0; countSignature < signature.length();countSignature++){
if (signature.codePointAt(countSignature) == 50) {// Representing 2
for (int j = 0; j < set1.size(); j++){ //iterating through the array for each word that starts with a,b, or c.
if (arraySet1[j].codePointAt(countSignature) == 97
|| arraySet1[j].codePointAt(countSignature) == 98
|| arraySet1[j].codePointAt(countSignature) == 99) {
arrayListSet2.add(arraySet1[j]);
//need to generate new arrayList for the next round of filtering.
f(j++)
}
}
}else if(signature.codePointAt(countSignature) == 51){ // Representing 3
for (int j = 0; j < set1.size(); j++) {
if (arraySet1[j].codePointAt(countSignature) == 100
|| arraySet1[j].codePointAt(countSignature) == 101
|| arraySet1[j].codePointAt(countSignature) == 102) {
arrayListSet2.add(arraySet1[j]);
}
}
}else if(signature.codePointAt(countSignature) == 52){ // Representing 4
for (int j = 0; j < set1.size(); j++) {
if (arraySet1[j].codePointAt(countSignature) == 103
|| arraySet1[j].codePointAt(countSignature) == 104
|| arraySet1[j].codePointAt(countSignature) == 105) {
arrayListSet2.add(arraySet1[j]);
}
}
}else if(signature.codePointAt(countSignature) == 53){ // Representing 5
for (int j = 0; j < set1.size(); j++) {
if (arraySet1[j].codePointAt(countSignature) == 106
|| arraySet1[j].codePointAt(countSignature) == 107
|| arraySet1[j].codePointAt(countSignature) == 108) {
arrayListSet2.add(arraySet1[j]);
}
}
}else if(signature.codePointAt(countSignature) == 54){ // Representing 6
for (int j = 0; j < set1.size(); j++) {
if (arraySet1[j].codePointAt(countSignature) == 109
|| arraySet1[j].codePointAt(countSignature) == 110
|| arraySet1[j].codePointAt(countSignature) == 111) {
arrayListSet2.add(arraySet1[j]);
}
}
}else if(signature.codePointAt(countSignature) == 55){ // Representing 7
for (int j = 0; j < set1.size(); j++) {
if (arraySet1[j].codePointAt(countSignature) == 112
|| arraySet1[j].codePointAt(countSignature) == 113
|| arraySet1[j].codePointAt(countSignature) == 114
|| arraySet1[j].codePointAt(countSignature) == 115){
arrayListSet2.add(arraySet1[j]);
}
}
}else if(signature.codePointAt(countSignature) == 56){ // Representing 8
for (int j = 0; j < set1.size(); j++) {
if (arraySet1[j].codePointAt(countSignature) == 116
|| arraySet1[j].codePointAt(countSignature) == 117
|| arraySet1[j].codePointAt(countSignature) == 118) {
arrayListSet2.add(arraySet1[j]);
}
}
}else if(signature.codePointAt(countSignature) == 57){ // Representing 9
for (int j = 0; j < set1.size(); j++) {
if (arraySet1[j].codePointAt(countSignature) == 119
|| arraySet1[j].codePointAt(countSignature) == 120
|| arraySet1[j].codePointAt(countSignature) == 121
|| arraySet1[j].codePointAt(countSignature) == 122) {
arrayListSet2.add(arraySet1[j]);
}
}
}else{
System.out.println("");
}
}
Возможно, вы захотите пересмотреть свою логику. – Maroun
логика не ясна. Вам нужно больше подключиться к это. – Ajit
Возможный дубликат http://stackoverflow.com/questions/1480663/how-can-i-slice-an-arraylist-out-of-an-arraylist-in-java – Rossiar