前提・実現したいこと
Result型のリストから要素を削除したい
発生している問題
Result型のリスト
中身はLong型,String型,String型で構成されているものがあるのですが
この中からLong型でして要素を削除したいです
可能でしょうか
手元の資料には要素のIndexを指定して消す方法は書いてありますが
消したい要素は毎回違う場所にある想定です
該当のソースコード
java
1List<Result> eventGetNoticeDataList =
java
1public class Result { 2 3 /** イベント通知通番 */ 4 @JsonProperty("event_id") 5 private Long eventId = null; 6 7 /** 結果コード */ 8 @JsonProperty("result_code") 9 private String resultCode = null; 10 11 /** メッセージ */ 12 @JsonProperty("message") 13 private String message = null; 14}
補足情報(FW/ツールのバージョンなど)
jdk1.8
Javaではリストと言っても色々なクラスがあります。その中には古いもので使用が推奨されないものもあります。質問者さんが使っている、具体的なコードを質問文中に示しましょう。
List<***> DataList =と宣言されている部分でよいのでしょうか
コピペで再現できる状態のもの。
ん。
ResultクラスをそのままListに入れるなら何番指定してもResultクラスでは。
どういう状態からどういう状態にしたいのか、具体的なサンプルデータのパターンを幾つか出してもらえますか?
それに定義だけ提示されても再現確認できませんし。
>>ResultクラスをそのままListに入れるなら何番指定してもResultクラスでは。
この中にある任意のevent_idを持つResultクラスを削除したいのです
object型のリストじゃないですね。Resultクラスと明確になっています。object型のリストと言うと、例えばArrayListにLongやIntegerや任意のクラスのインスタンスを格納するようなことを想像します。このように、文だけでは分からない、往々にして質問者さんのやりたいことが伝わらないから、コードを提示しましょうと書きました。で、質問の件名や質問内容と合致していない気がします。
タイトルの修正をしました
object→Result
えーと。そうなると、自力でリストから1つずつ列挙するなりして、該当のevent_idのResultのインスタンスをremove()などすれば良いです。何でもAPIで用意されている訳ではないので、要望に合うように自力でやれば(=コードを書けば)良いのです。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/List.html#remove-java.lang.Object-
そうですね。
そういうメソッド作って地道に走査して自分で処理するしかないと思います。
リストから削除しようとおもわなければいいのでは。元のリストを順に読んで、選んで、新しいリストを作る。そのうえで、元のリストを更新したいのであれば、元のリストをクリアして、新しいリストの中身をぶっこめばいい。
選び方すらわからない、というはなしであれば、リスト以前のはなし。
回答1件
あなたの回答
tips
プレビュー