java遍历集合某字段,判断是不是存在相同的值。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java遍历集合某字段,判断是不是存在相同的值。相关的知识,希望对你有一定的参考价值。
java遍历集合某字段,判断是否存在相同的值。数据库有几十条数据,页面每次可编辑15条。编辑时可新增行和删除行。如何判断某字段值是否唯一??求助。
注:for (GoodsBean goods : list)是对链表进行循环遍历spid--商品ID,spmch--商品名称
这个例子是我从现在做的一个购物车的例子里抽出来的一部分,可以运行,你试试 ,呵呵
/**
* 判断一个list里某个字段是否全相等
* @param list
* @return
*/
public static boolean isEqual(List<GoodsBean> list)
List<String> listid = new ArrayList<String>();
for (GoodsBean goods : list)
String spid = goods.getSpid();
listid.add(spid);
if (listid != null)
String firstspid = listid.get(0);
for (String spid : listid)
if (!spid.equals(firstspid))
System.out.println("有一个不相等,返回false");
return false;
return true; //循环完没有找到相等的返回true
return false; //为空返回false
GoosBean是存放在List里的一个javabean
public class GoodsBean implements Serializable
/**
*
*/
private static final long serialVersionUID = 1437224000720087048L;
private String spid;
private String spmch;
// 构造方法
public GoodsBean(String spid, String spmch)
this.spid = spid;
this.spmch = spmch;
public GoodsBean()
// 一般方法
public String getSpid()
return spid;
public void setSpid(String spid)
this.spid = spid;
public String getSpmch()
return spmch;
public void setSpmch(String spmch)
this.spmch = spmch;
追问
谢谢你。可惜这个和我的不太一样。
这个问题我解决了。把页面编辑过的行设置标志位为1,通过set判断页面数据是否重复。再查出数据库中所有的数据为map,把map中已编辑过的数据从map中remove(),得到未编辑过的所有数据。再把页面中编辑过的和新增的数据和map比较,如果map的value相同,则存在重复的。
参考技术A 在输入时,全部遍历判断是否存在~~追问
不行。编辑第一页时,如果输入第二页的值,就不行了。
java怎么判断集合中是不是存在重复数据,如果存在怎么删除重复数据
参考技术A要看什么集合,数组,HashMap,还是其他?具体思路是
遍历集合
统计不同值的个数
记录下个数大于1的index
删除第三步的index的数据
Collection中有不添加重复的,比如:Set集合。
如果使用List存放对象的,那么要重写对象的equals方法判断。本回答被提问者和网友采纳 参考技术C 先用set进行去重,然后把set里面的数据放到list中即可。 参考技术D 那要看你用那个集合了
以上是关于java遍历集合某字段,判断是不是存在相同的值。的主要内容,如果未能解决你的问题,请参考以下文章