List<String>中找出存在重复的数据
时间: 2024-04-26 19:21:38 浏览: 9
可以使用HashSet来判断是否存在重复数据。具体实现可以先遍历List,将元素依次加入HashSet中,如果HashSet的add方法返回false,说明该元素已经存在于HashSet中,即为重复数据。示例代码如下:
```java
List<String> list = new ArrayList<>();
// 假设list中已经有数据
Set<String> set = new HashSet<>();
List<String> duplicatedList = new ArrayList<>();
for (String s : list) {
if (!set.add(s)) {
duplicatedList.add(s);
}
}
// duplicatedList即为重复数据的列表
```
相关问题
java 找出重复的数据_java 怎样把list中相同的数据找出来
您可以使用两个循环嵌套的方法来实现查找重复数据。具体步骤如下:
1.定义一个新的列表来存储重复的数据
2.使用外循环遍历原始列表中的每个元素
3.使用内循环遍历原始列表中外循环后面的元素
4.如果发现相同的元素,则将其添加到新的列表中
以下是示例代码:
```java
List<String> originalList = new ArrayList<String>();
List<String> duplicateList = new ArrayList<String>();
// 添加一些数据到原始列表中
originalList.add("A");
originalList.add("B");
originalList.add("C");
originalList.add("B");
originalList.add("D");
for(int i=0; i<originalList.size(); i++) {
for(int j=i+1; j<originalList.size(); j++) {
if(originalList.get(i).equals(originalList.get(j))) {
duplicateList.add(originalList.get(i));
}
}
}
// 输出重复的数据
System.out.println("重复的数据: " + duplicateList);
```
这段代码会输出:重复的数据: [B],因为原始列表中有两个 "B"。
unity 查询mysql数据库中某个表的所有数据,之后找出相同的数据
以下是Unity中使用C#查询MySQL数据库中某个表的所有数据,并找出相同数据的示例代码:
```csharp
using System.Collections.Generic;
using MySql.Data.MySqlClient;
public class MySQLManager {
private MySqlConnection connection;
private string server;
private string database;
private string uid;
private string password;
public MySQLManager() {
server = "localhost";
database = "mydatabase";
uid = "root";
password = "password";
string connectionString = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
connection = new MySqlConnection(connectionString);
}
public List<string> QueryDataFromTable(string tableName) {
List<string> dataList = new List<string>();
string query = "SELECT * FROM " + tableName;
MySqlCommand cmd = new MySqlCommand(query, connection);
try {
connection.Open();
MySqlDataReader dataReader = cmd.ExecuteReader();
while (dataReader.Read()) {
string data = "";
for (int i = 0; i < dataReader.FieldCount; i++) {
data += dataReader[i].ToString() + ",";
}
if (!string.IsNullOrEmpty(data)) {
dataList.Add(data);
}
}
dataReader.Close();
} catch (MySqlException ex) {
Debug.LogError("MySQL Error: " + ex.Message);
} finally {
connection.Close();
}
return dataList;
}
public List<string> FindDuplicateData(List<string> dataList) {
List<string> duplicateList = new List<string>();
HashSet<string> hashSet = new HashSet<string>();
foreach (string data in dataList) {
if (!hashSet.Add(data)) {
duplicateList.Add(data);
}
}
return duplicateList;
}
}
```
使用方法:
```csharp
MySQLManager mySQLManager = new MySQLManager();
List<string> dataList = mySQLManager.QueryDataFromTable("mytable");
List<string> duplicateList = mySQLManager.FindDuplicateData(dataList);
foreach (string data in duplicateList) {
Debug.Log(data);
}
```
在上面的示例代码中,需要根据实际情况修改MySQL数据库连接的相关信息。QueryDataFromTable方法用于查询指定表中的所有数据,并将其放入List<string>中返回。FindDuplicateData方法用于找出相同的数据,并将其放入List<string>中返回。这里使用HashSet来判断是否存在重复数据。最后,使用上述方法可以查询指定表中的所有数据,并找出相同的数据。