杂谈记录——通过set判断一组数据是否重复
Posted 唐 昊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了杂谈记录——通过set判断一组数据是否重复相关的知识,希望对你有一定的参考价值。
场景说明:
判断输入的字符是否存在重复,如果重复需要进行提醒
思路:
利用set不允许存储重复的字符,判断每次的size是否和填入的字符数量是否保持一致,如不一致,则有重复的字符
代码:
public class TestIsDuplicate
public static void main(String[] args)
TestIsDuplite testIsDuplite = new TestIsDuplite();
boolean falg = true;
int cuont = 0;
Scanner scanner = new Scanner(System.in);
List<String> list = new ArrayList<>();
StringBuilder stringBuilder = new StringBuilder();
while (true)
switch (scanner.next())
case "chose1":
String val = scanner.next();
list.add(val);
cuont++;
System.out.println("增加成功");
break;
case "chose2":
String s1 = scanner.next();
list.remove(s1);
cuont--;
System.out.println("删除成功");
break;
case "chose12":
System.out.println("asdasd");
Set<String> set = new HashSet<>();
Set<String> msgset = new HashSet<>();
boolean check = testIsDuplite.check(set, msgset, list, cuont);
if(!check)
System.out.println("保存成功");
else
System.out.println(list.size());
System.out.println(msgset.size());
for (String s : msgset)
System.out.println("thisi " + s);
break;
public boolean check(Set<String> set, Set<String> msg, List<String> list,int count)
for (String s : list)
// if(set.contains(s))
boolean is = false;
int bsize = set.size();
set.add(s);
if (set.size() == bsize)
is = true;
if (is)
msg.add(s);
if (count == set.size())
return false;
return true;
class Tom
String name;
String pass;
void Tom(String a, String b)
this.name = a;
this.pass = b;
测试
chose1
A
Task :TestIsDuplite.main()
增加成功
chose1
A
增加成功
chose12
asdasd
2
1
thisi A
chose1
V
增加成功
chose12
asdasd
3
1
thisi A
chose2
A
删除成功
chose12
asdasd
保存成功
以上是关于杂谈记录——通过set判断一组数据是否重复的主要内容,如果未能解决你的问题,请参考以下文章