【发布时间】:2020-05-24 10:43:27
【问题描述】:
在添加列表之前,我想检查它是否不存在,因此没有重复的值。这适用于整数列表,但不适用于其他整数列表:
void main() {
var listasN = List<int>();
var n1 = 1;
var n2 = 2;
var n3 = 1;
void addN(int n) {
if (!listasN.contains(n)) {
listasN.add(n);
}
}
addN(n1);
addN(n2);
addN(n3);
print(listasN);
var listas = List<List<int>>();
var lista1 = [1, 2, 3, 4];
var lista2 = [5, 6, 7, 8];
var lista3 = [1, 2, 3, 4];
void addLista(List<int> ls) {
if (!listas.contains(ls)) {
listas.add(ls);
}
}
addLista(lista1);
addLista(lista2);
addLista(lista3);
print(listas);
}
输出:
[1, 2]
[[1, 2, 3, 4], [5, 6, 7, 8], [1, 2, 3, 4]]
第一个函数不支持重复值,但第二个支持,为什么?
【问题讨论】: