Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何仅显示我的对象的唯一实例?_Java - Fatal编程技术网

Java 如何仅显示我的对象的唯一实例?

Java 如何仅显示我的对象的唯一实例?,java,Java,我有一张放闹钟的桌子。我的问题是我必须显示表中的所有报警,但是重复的报警应该只显示一次。比如说 table1 ------- alarms ------ A A A A B B B C D E ------ 在上表中,假设A、B、C、D、E为报警。重复的报警应仅显示一次,例如,报警A重复四次,但必须仅显示一次。所需输出为 A B C D E 我真的不知道在这种情况下表是什么意思,但您要寻找的数据结构是一个集合。如果将“A”添加到已包含“A”的集合中,则不会发生任何情况。是否应将其标记为S

我有一张放闹钟的桌子。我的问题是我必须显示表中的所有报警,但是重复的报警应该只显示一次。比如说

table1
-------
alarms
------
A
A
A  
A
B
B
B
C
D
E
------
在上表中,假设A、B、C、D、E为报警。重复的报警应仅显示一次,例如,报警A重复四次,但必须仅显示一次。所需输出为

A
B
C
D
E

我真的不知道在这种情况下表是什么意思,但您要寻找的数据结构是一个集合。如果将“A”添加到已包含“A”的集合中,则不会发生任何情况。

是否应将其标记为SQL而不是java

select distinct alarms from table1
无论如何,您可以通过在语句中添加distinct从表中获取结果:

select distinct alarms from table1;

您可以在SQL查询中使用
distinct
关键字,或者将结果放入Java中的
LinkedHashSet
,以消除重复项并保留插入顺序。

您将得到不同的报警


从您的TableName中选择DISTINCT alarms

避免使用DISTINCT如果预计表将增长到任何更大的大小,它在大多数DBMS中的性能都很糟糕(索引使用率差几乎总是默认为完全表扫描)。分组方式更好,在这种情况下:

select * from table where column in (select column from table group by column)

如果列在数据库表中被索引,则哪个可以正确优化执行?如果没有:您使用的是什么数据结构?听起来您想对数据源进行分组。不知道该数据源可能是什么。有些事情需要澄清:1)什么样的表?2) 过滤到只有一个唯一的项目就足够了吗?3) “报警”是字符串还是对象?