ArrayList刪除集合中某一屬性相同的元素方法(推薦)
如果想要集合中的元素不會(huì)有重復(fù),那么推薦使用hashSet,如下:
// list是有重復(fù)元素的ArrayList HashSet hSet = new HashSet(list); list.clear(); list.addAll(hSet);
但是有時(shí)我們想刪除某一個(gè)重復(fù)屬性值(值相同)的某個(gè)元素,如下:
NetWork nw1 = new NetWork(); nw1.id = 1; nw1.destip = "192.168.1.3"; NetWork nw2 = new NetWork(); nw2.id = 2; nw2.destip = "192.168.1.5"; NetWork nw3 = new NetWork(); nw3.id = 3; nw3.destip = "192.168.1.3"; NetWork nw4 = new NetWork(); nw4.id = 4; nw4.destip = "192.168.1.4"; NetWork nw5 = new NetWork(); nw5.id = 5; nw5.destip = "192.168.1.3"; mList.add(nw1); mList.add(nw2); mList.add(nw3); mList.add(nw4); mList.add(nw5);
明顯nw1、nw3、nw5中的ip值都一樣,我們只需要一個(gè)就足夠了,那么用ArrayList該如何循環(huán)遍歷刪除自身的元素值呢?
for (int i = 0; i < mList.size()-1; i++) {
for (int j = mList.size()-1; j > i; j--) {
if (mList.get(j).destip.equals(mList.get(i).destip)) {
mList.remove(j);
}
}
}
兩個(gè)for循環(huán)足矣,記住最好從尾部開(kāi)始逐一比較,這樣一旦某一個(gè)元素符號(hào)要求,需要delete,能保證刪除尾部之上的,不會(huì)造成循環(huán)錯(cuò)亂。
以上就是小編為大家?guī)?lái)的ArrayList刪除集合中某一屬性相同的元素方法(推薦)的全部?jī)?nèi)容了,希望對(duì)大家有所幫助,多多支持腳本之家~
相關(guān)文章
SpringBoot2.0整合WebSocket代碼實(shí)例
這篇文章主要介紹了SpringBoot2.0整合WebSocket代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
SpringBoot?實(shí)現(xiàn)動(dòng)態(tài)添加定時(shí)任務(wù)功能
這篇文章主要介紹了SpringBoot?動(dòng)態(tài)添加定時(shí)任務(wù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02
Rxjava+Retrofit+MVP實(shí)現(xiàn)購(gòu)物車(chē)功能
這篇文章主要為大家詳細(xì)介紹了Rxjava+Retrofit+MVP實(shí)現(xiàn)購(gòu)物車(chē)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
SpringMVC五大組件與執(zhí)行原理分析總結(jié)
這篇文章主要介紹了SpringMVC五大組件與執(zhí)行原理分析總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-01-01
詳解大數(shù)據(jù)處理引擎Flink內(nèi)存管理
Flink是jvm之上的大數(shù)據(jù)處理引擎,jvm存在java對(duì)象存儲(chǔ)密度低、full gc時(shí)消耗性能,gc存在stw的問(wèn)題,同時(shí)omm時(shí)會(huì)影響穩(wěn)定性。針對(duì)頻繁序列化和反序列化問(wèn)題flink使用堆內(nèi)堆外內(nèi)存可以直接在一些場(chǎng)景下操作二進(jìn)制數(shù)據(jù),減少序列化反序列化消耗。本文帶你詳細(xì)理解其原理。2021-05-05
SpringBoot項(xiàng)目開(kāi)發(fā)常用技術(shù)整合
今天給大家分享springboot項(xiàng)目開(kāi)發(fā)常用技術(shù)整合,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-08-08
Java源碼解析CopyOnWriteArrayList的講解
今天小編就為大家分享一篇關(guān)于Java源碼解析CopyOnWriteArrayList的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01

