Duplizieren von Count occurrences of words in ArrayList in Duplikate zählenWie Liste <Integer>
i zählt Duplikate meiner JSON Antwort versucht.
Im bekam Wert von 1,2 ... to 13,14
Ersten, was ich tun ist, sortiert die Liste:
Collections.sort(calues);
kann jeder Wert 4-mal verwendet werden.
So endlich habe ich Liste mit 1,1,1,1,2,2,2,2.....14,14,14,14
Ich brauche wiederholte Werte zu zählen und wenn jeder Wert wie 1,2 wird etc 3 mal i Nachricht an Benutzer geben müssen wiederholt werden.
Wie kann ich das tun? Vielen Dank für Hilfe :)
mit Tutorial gehen i erstellen Diesen:
public int count(List<Integer> nums) {
boolean inclump = false;
int clumpcnt = 0;
for (int i = 1; i < nums.size(); i++) {
if (Objects.equals(nums.get(i), nums.get(i - 1))) {
if (!inclump) {
inclump = true;
clumpcnt++;
if(clumpcnt ==3){
Utils.showToast(getApplicationContext(), "WOW VALUE REPEATED 3 TIMES, YOU WIN");
}
}
} else {
inclump = false;
}
}
return clumpcnt;
}
aber die Werte zählen und wenn Werte wie 2,2 und 3,3 und 4,4 dann diese Funktion eingeben
if(clumpcnt ==3){
Utils.showToast(getApplicationContext(), "WOW VALUE REPEATED 3 TIMES, YOU WIN");
}
erklärte ich eine Liste private List<Integer> cardsValues = new ArrayList<>();
Dann habe ich Werte hier:
ersten 5 auf Startanwendung:
@Override
public void onNext(@NonNull Cards cards) {
cardsArray = cards.getArrayCards();
for (Card item : cardsArray) {
imgUrls.add(item.getImage());
cardsValues.add(item.getRank());
} }
Und das auf jeden Klick mit "neuen Karten Get"
Im Hinzufügen neuen Wertes mit der gleichen Methode
for (Card item : cardsArray) {
imgUrls.add(item.getImage());
cardsValues.add(item.getRank());
}
Und hier rufe ich die Methode
Hier 210private void checkDuplicateAchievement() {
Collections.sort(cardsValues);
count(cardsValues);
}
ist meine volle Methode
private void getCards(final String deck_id, final int count) {
cardApi.getCards(deck_id, count)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<Cards>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull Cards cards) {
cardsArray = cards.getArrayCards();
for (Card item : cardsArray) {
imgUrls.add(item.getImage());
cardsValues.add(item.getRank());
}
cardsRecyclerView.notifyDataSetChanged(); recyclerView.smoothScrollToPosition(cardsRecyclerView.getItemCount());
checkDuplicateAchievement();
}
@Override
public void onError(@NonNull Throwable e) {
}
@Override
public void onComplete() {
}
});
}
Duplizieren von https://stackoverflow.com/questions/5211194/count-occurrences-of-words-in-arraylist – Mani