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的数据

参考技术B 您好,提问者:
Collection中有不添加重复的,比如:Set集合。
如果使用List存放对象的,那么要重写对象的equals方法判断。本回答被提问者和网友采纳
参考技术C 先用set进行去重,然后把set里面的数据放到list中即可。 参考技术D 那要看你用那个集合了

以上是关于java遍历集合某字段,判断是不是存在相同的值。的主要内容,如果未能解决你的问题,请参考以下文章

java 怎么比较两个list是不是相同

java怎么比较两个list是不是相同?

java 怎么判断一个集合是不是含有某个值

sql语句,怎样判断一个字段中是不是存在某一个值

oracle 怎么检查字段是不是存在某值?

java怎么判断一个set集合里面有没有某一个值