不相等的存入list,相等的存入子list
时间: 2024-01-15 13:43:10 浏览: 61
可以使用一个字典来实现这个功能,遍历列表,如果元素不在字典的键中,就将其作为键加入字典,并将其值初始化为一个列表,将该元素存入该列表。如果元素已经在字典的键中,就将其添加到对应的列表中。最后,将字典中所有值为单个元素的列表转换为非嵌套列表即可。
代码示例:
```
def split_list(lst):
d = {}
for item in lst:
if item not in d:
d[item] = [item]
else:
d[item].append(item)
return [v if len(v) > 1 else v[0] for v in d.values()]
# 测试
lst = [1, 2, 3, 2, 4, 5, 4, 6, 7, 7]
result = split_list(lst)
print(result)
# 输出:[[2, 2], [4, 4], [7, 7], 1, 3, 5, 6]
```
相关问题
假如我已经得出两个表的List对象,用java如何关联两个表取出取出id相等的对象并存入List中
假设两个表分别是TableA和TableB,它们的结构如下:
```java
public class TableA {
private int id;
private String name;
// 其他属性和方法
}
public class TableB {
private int id;
private String description;
// 其他属性和方法
}
```
可以通过以下代码实现关联两个表并取出id相等的对象:
```java
List<TableA> listA = ...; // TableA的List对象
List<TableB> listB = ...; // TableB的List对象
List<Object[]> resultList = new ArrayList<>(); // 存储结果的List对象
for (TableA a : listA) {
for (TableB b : listB) {
if (a.getId() == b.getId()) {
Object[] result = new Object[] {a, b};
resultList.add(result);
break;
}
}
}
```
代码中,首先定义了一个存储结果的List对象resultList,然后使用两个for循环遍历两个表中的所有对象,如果发现id相等,则将两个对象存入一个Object数组中,并将该数组存入结果List中。最后返回结果List对象即可。
匹配两个集合中不相等的集合
匹配两个集合中不相等的集合可以使用以下几种方法:
1. 使用retainAll方法:这个方法可以找出两个集合的交集,然后通过判断交集的大小是否为0来确定是否存在不相等的集合。但是这个方法有缺陷,如果集合A的大小没有改变,则返回false。如果集合A和集合B是完全相同的集合,也会返回false。只有当两个集合没有交集时,才会返回true。因此,这个结果可能不是你想要的。
2. 使用HashMap:将集合A的元素存入HashMap中,然后遍历集合B,逐个判断集合B中的元素是否在HashMap中存在,如果不存在则说明是不相等的集合。这种方法利用了HashMap的唯一性,元素作为key,value可以重复。
3. 使用Java8的新特性steam流:将两个集合转化为stream流,然后进行排序,并将排序后的字符串进行比较,如果相等则说明两个集合相等,否则不相等。这种方法使用了Java8提供的新特性,比较简洁方便。
综上所述,你可以根据具体情况选择适合的方法来匹配两个集合中不相等的集合。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Java如何判断两个集合的元素是否完全相等](https://blog.csdn.net/Ecloss/article/details/86154344)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文