导航:首页 > 编程语言 > 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相关的资料

热点内容
服务器共享文件如何备份 浏览:748
买安卓手机怎么在官网买 浏览:116
诗词入门PDF 浏览:355
毒app是什么单位 浏览:58
如何自己编译android系统 浏览:786
phpmysqlpdomysqli 浏览:802
php修改sql语句 浏览:714
android有道api 浏览:383
挠耳营水表用的什么app 浏览:50
战锤40kpdf 浏览:377
java判断字符串是汉字 浏览:464
2017初级教材pdf 浏览:453
松下空调压缩机品牌 浏览:819
python复选框 浏览:748
反诈中心app是什么时候出来的 浏览:588
魔兽世界需要什么服务器地址 浏览:191
啥是单片机休眠 浏览:106
什么音乐app最好 浏览:929
牙膏自制解压神器 浏览:329
卸载linuxwps 浏览:228