導航:首頁 > 編程語言 > java過濾list

java過濾list

發布時間:2023-11-18 07:30:24

java list的重復對象怎麼去除

java list的重復對象,可以使用Set集合類沒有重復的數據的特點,將list的數據存入set裡面,過濾掉重復的數據,如下代碼:

packagecom.qiu.lin.he;

importjava.util.ArrayList;
importjava.util.HashSet;
importjava.util.List;
importjava.util.Set;

publicclassCeshi{
publicstaticvoidmain(String[]args){
List<Integer>li=newArrayList<Integer>();//新建一個list結合
li.add(1);
li.add(2);
li.add(3);
li.add(1);
Set<Integer>se=newHashSet<Integer>();//新建一個set集合
for(Integerinteger:li){
se.add(integer);//過濾重復的數據
}
for(Integerinteger:se){
System.out.println("輸出list數組的去重的每個數據"+integer);
}
}
}

運行結果如下:

㈡ JAVA:如何刪掉list裡面重復的Map

不知道你為什麼有這種變態需求。如果是作為學習訓練還情有可原,要是你是要實現一個什麼東西不得不這樣,那你就實在是實現的太搓了。用什麼不好,用這么多map,還用list來過濾。
算我無聊,這是代碼,clearList是方法,main是給你寫的一個測試用的例子
public class Test
{
public static void clearList(List<Map<String, String>> list)
{
if (list == null) return;

Set<String> set = new HashSet<String>();
for (Iterator<Map<String, String>> it = list.iterator(); it.hasNext();)
{
//裡面的map至少有一個元素,不然報錯
String value = it.next().entrySet().iterator().next().getValue();
if (set.contains(value))
{
it.remove();
}
else
{
set.add(value);
}
}
}

public static void main(String args[])
{
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map1 = new HashMap<String, String>();
map1.put("1", "abc");
Map<String, String> map2 = new HashMap<String, String>();
map2.put("2", "abdc");
Map<String, String> map3 = new HashMap<String, String>();
map3.put("3", "abc");
list.add(map1);
list.add(map2);
list.add(map3);
clearList(list);
for (Iterator<Map<String, String>> it = list.iterator(); it.hasNext();)
{
String value = it.next().entrySet().iterator().next().getValue();
System.out.println(value);
}
}
}

㈢ java裡面如果選擇了JList的值,再按其他按鈕的時候怎麼把之前選的這個JList項清除掉

分析: 1: 清除JList選中的項目,可以使用setSelectedIndices方法實現

JList1.setSelectedIndices(newint[]{});//設置選擇的條目為沒有.用1個空白數組表示
//jlist1.setSelectedIndices(newint[]{0,1});//這就表示選擇的條目為第1和第2個

分析:2 : 可以設置1個焦點響應事件. 當JList失去焦點時,使用上面的方法,清除掉所有選擇

完整的參考代碼

importjava.awt.*;
importjava.awt.event.FocusEvent;
importjava.awt.event.FocusListener;
importjavax.swing.*;
importjavax.swing.event.*;

{
JTextFieldjtf;
JList<String>jlist1;
JTextAreajta;
staticfinalString[]CP={"青椒土豆絲","西紅柿炒雞蛋","麻辣小龍蝦","魚香肉絲","西湖醋魚","紅湯老火鍋","可樂","茉莉花茶"};

publicMenuFrame(){
JPaneljpCenter=newJPanel(newGridLayout(1,2));
jlist1=newJList<String>(CP);
jlist1.addListSelectionListener(this);
jlist1.addFocusListener(newFocusListener(){//給JList添加1個焦點響應事件

@Override
publicvoidfocusLost(FocusEvente){//失去焦點時執行的方法
jlist1.setSelectedIndices(newint[]{});//設置選擇的條目為沒有.用1個空白數組表示
//jlist1.setSelectedIndices(newint[]{0,1});//這就表示選擇的條目為第1和第2個
}

@Override
publicvoidfocusGained(FocusEvente){//獲得焦點時,執行的方法
//TODOAuto-generatedmethodstub

}
});
JScrollPanejsp1=newJScrollPane(jlist1);//滾動面板
jsp1.setBorder(BorderFactory.createTitledBorder("全部菜品"));//帶標題的邊框
jpCenter.add(jsp1);

jta=newJTextArea(5,30);
jta.setLineWrap(true);
JScrollPanejsp2=newJScrollPane(jta);
jsp2.setBorder(BorderFactory.createTitledBorder("已選菜品"));
jpCenter.add(jsp2);

add(jpCenter);
setTitle("點菜");
setSize(300,200);//窗口大小
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}

publicstaticvoidmain(String[]args){
newMenuFrame();//啟動窗口
}

publicvoidvalueChanged(ListSelectionEvente){
if(e.getValueIsAdjusting()){
jta.append(jlist1.getSelectedValue()+",");
}
}
}

效果圖

㈣ java對List去重並排序,如何快速地去掉兩個

Java8開始,對數值,集昌並廳合等提供了Stream流操作,可以方便的對集合進行操作.

比如 篩選,過濾,去重, 映射, 排序,規約,收集 等操作

簡單的參考代碼如下


importjava.util.Arrays;
importjava.util.List;
importjava.util.stream.Collectors;
//使用Java8的Stream特性和Java8的Lambda語句
publicclassDemo{
publicstaticvoidmain(String[]args){
//需求:集合去重,排序,得到一個新集耐隱合裡面的元素是之前元素的平方
List<Integer>list=Arrays.asList(5,2,2,1,3,4);
List<Integer>listResult= list
.stream()//得到流
.distinct()//去重蔽爛5,2,1,3,4
.sorted()//自然排序,也可以自定義排序規則1,2,3,4,5
.map(x->x*x)//每個元素求平方1,4,9,16,25
.collect(Collectors.toList());//收集並返回

System.out.println(listResult);//1,4,9,16,25
}
}

㈤ java 怎麼刪除List中的指定元素

主要有三種方法:

  1. 用一個List 記錄要刪除的數據猛閉,最後removeAll(List);梁知李

㈥ java中如何將list集合清空

java中將集合清空可以用clear方法。

下面演示用法,代碼如下

public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
System.out.println(list);
list.clear();
System.out.println(list);
}

(6)java過濾list擴展閱讀,集合的方法

boolean add(Object o)添加對象到集合

boolean remove(Object o)刪除指定的對象

int size()返回當前集合中元素的數量

boolean contains(Object o)查找集合中是否有指定的對象

boolean isEmpty()判斷集合是否為空

Iterator iterator()返回一個迭代器

boolean containsAll(Collection c)查找集合中是否有集合c中的元素

boolean addAll(Collection c)將集合c中所有的元素添加給該集合

void clear()刪除集合中所有元素

void removeAll(Collection c)從集合中刪除c集合中也有的元素

void retainAll(Collection c)從集合中刪除集合c中不包含的元素

閱讀全文

與java過濾list相關的資料

熱點內容
內核編譯之後安裝到哪 瀏覽:58
單片機加場效應管 瀏覽:152
怎麼關閉appstore 瀏覽:474
學編程入門語言 瀏覽:307
安卓機為什麼總是出現升級提示 瀏覽:133
b樹java實現 瀏覽:943
亞馬遜雲伺服器到期了怎麼續費 瀏覽:850
我的世界網易如何在伺服器裡面加光影 瀏覽:284
nat地址訪問外網伺服器 瀏覽:966
怎樣用java編譯一個心形 瀏覽:934
如何使用python中的pygame 瀏覽:836
python實用小工具 瀏覽:24
怎麼在安卓手機上去除馬賽克 瀏覽:235
農行濃情通app怎麼下載 瀏覽:533
怎麼把原文件夾找回來 瀏覽:535
俄羅斯方塊實現python思路 瀏覽:735
漢語拼音英語編譯代碼 瀏覽:501
程序員應具備的能力 瀏覽:606
手機石墨文檔文件夾訪問許可權 瀏覽:656
客戶端如何登陸域文件伺服器 瀏覽:530