前提・実現したいこと
独自のクラスを引数にインスタンス化したArrayListで、removeをしたい
発生している問題・エラーメッセージ
falseで削除できない
該当のソースコード
java
1package dictionary; 2 3import java.util.ArrayList; 4import java.util.Collections; 5import java.util.Iterator; 6import java.util.List; 7 8public class Dictionary { 9 @SuppressWarnings("rawtypes") 10 private List dictionaryList; 11 private int displayNumber; 12 13 public int getDisplayNumber() { 14 return displayNumber; 15 } 16 17 public void setDisplayNumber(int displayNumber) { 18 this.displayNumber = displayNumber; 19 } 20 21 public Dictionary() { 22 dictionaryList = new ArrayList<>(); 23 } 24 25 @SuppressWarnings("unchecked") 26 public void put(String word, String explanation)throws NullPointerException{ 27 dictionarySet dSet = new dictionarySet(word,explanation); 28 dictionaryList.add(dSet); 29 Iterator<dictionarySet> iterator = dictionaryList.iterator(); 30 /*for(@SuppressWarnings("rawtypes") 31 ListIterator it = dictionaryList.listIterator(dictionaryList.size()); it.hasPrevious();) { 32 if(it.previous().equals(word)) { 33 dictionaryList.remove(iterator.next().getWord()); 34 } 35 }*/ 36 while(iterator.hasNext()) { 37 //String removeStr = ; 38 if(iterator.next().getWord().equals(word) && iterator.hasNext() == true){ 39 System.out.println(dictionaryList.remove(word)); 40 break; 41 } 42 } 43 /*iterator = dictionaryList.iterator(); 44 while (iterator.hasNext()) { 45 System.out.println(iterator.next().getWord()); 46 }*/ 47 48 //dictionaryList.add(dSet); 49 } 50 51 public void getAll() { 52 sort(); 53 @SuppressWarnings("unchecked") 54 Iterator<dictionarySet> it = dictionaryList.iterator(); 55 while (it.hasNext()) { 56 dictionarySet data = it.next(); 57 System.out.println(data.getWord() + ":" + data.getExplanation()); 58 } 59 } 60 61 public void getOnePage(int page) { 62 63 } 64 65 @SuppressWarnings("unchecked") 66 public void sort() { 67 Collections.sort(dictionaryList); 68 } 69 70 public void clear() { 71 dictionaryList.clear(); 72 } 73} 74
package dictionary; public class dictionarySet implements Comparable<dictionarySet>{ private String word; private String explanation; public dictionarySet(String word, String explanation) { super(); this.word = word; this.explanation = explanation; } public String getWord() { return word; } public void setWord(String word) { this.word = word; } public String getExplanation() { return explanation; } public void setExplanation(String explanation) { this.explanation = explanation; } @Override public int compareTo(dictionarySet dictionarySet){ return word.compareTo(dictionarySet.word); } }
試したこと
勉強中なのでできる限りjavadocなどドキュメントを読み漁りましたが分かりません。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
実際に実行しているコードを提示してください。
回答2件
あなたの回答
tips
プレビュー