一个arraylist,往里面add值的时候,遇到重复就不要添加,怎么做
代码如下:
public static void main(String[] args){
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
String str = "aaa";
if(!list.contains(str)){
list.add(str);
}
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
拓展资料
List 接口的大小可变 数组的实现,位于API文档的 java.util.ArrayList<E>。实现了所有可选列表操作,并允许包括 null 在内的所有 元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的 数组的大小。(此类大致上等同于 Vector 类,除了此类是不同步的。)
size、isEmpty、get、set、iterator 和 listIterator 操作都以固定时间运行。add 操作以分摊的固定时间 运行,也就是说,添加 n 个 元素需要 O(n) 时间。其他所有操作都以线性时间运行(大体上讲)。与用于 LinkedList 实现的常数因子相比,此实现的常数因子较低。
每个 ArrayList 实例都有一个容量。该容量是指用来存储列表 元素的 数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加 元素,其容量也自动增长。并未指定增长策略的细节,因为这不只是添加 元素会带来分摊固定时间开销那样简单
if not objArray.Contain(x) then objArray.add(x)
因为, ArrayList就是个集合, 你直接调用Contain方法, 就可以判断这个值存不存在
HashSet<Integer> set = new HashSet<Integer>();//创建一个set用来去重复
for(Integer inte:inteList) { //inteList是要来保存要放进去的值
set.add(inte);
}
List list = new ArrayList();
list.addAll(set);//把set放入list中