主要验证一下List集合的常用操作:
- list中添加,获取,删除元素;
添加方法是:.add(e); 获取方法是:.get(index); 删除方法是:.remove(index); 按照索引删除; .remove(Object o); 按照元素内容删除;
List<String> person = new ArrayList<>();
//增加删除测试完成
person.add("jackie"); //索引为0 //.add(e)
person.add("peter"); //索引为1
person.add("annie"); //索引为2
person.add("martin"); //索引为3
person.add("marry"); //索引为4
person.remove(3); //.remove(index)
person.remove("marry"); //.remove(Object o)
String per = "";
per = person.get(1);
System.out.println(per); .get(index)
for (int i = 0; i < person.size(); i++) {
System.out.println(person.get(i)); //.get(index)
}
}
结果如下:
- list中是否包含某个元素;
方法:.contains(Object o); 返回true或者false
person.contains("peter")
- list中根据索引将元素数值改变(替换);
注意 .set(index, element); 和 .add(index, element); 的不同;
.add是在指定索引出插入元素,set是设置指定索引处元素值。
person.set(1,"hello");
下图展示了add前后元素的区别。
-
list中查看(判断)元素的索引;
注意:.indexOf(); 和 lastIndexOf()的不同; -
根据元素索引位置进行的判断;
- 利用list中索引位置重新生成一个新的list(截取集合);
方法: .subList(fromIndex, toIndex); .size() ; 该方法得到list中的元素数的和
-
对比两个list中的所有元素;
-
判断list是否为空;
if (person.isEmpty()) {
System.out.println("空的");
}else {
System.out.println("不是空的");
}
- 返回Iterator集合对象;
Iterator<String> it=person.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
13. 将集合转换为字符串;
person.toString();
- 将集合转换为数组;
System.out.println(“将集合转换为数组:”+person.toArray());
- 集合类型转换;
//1.默认类型
List<Object> listsStrings=new ArrayList<>();
for (int i = 0; i < person.size(); i++) {
listsStrings.add(person.get(i));
}
//2.指定类型
List<StringBuffer> lst=new ArrayList<>();
for(String string:person){
lst.add(StringBuffer(string));
}
- 去重复
List<String> lst1=new ArrayList<>();
lst1.add("aa");
lst1.add("dd");
lst1.add("ss");
lst1.add("aa");
lst1.add("ss");
//方法 1.
for (int i = 0; i <lst1.size()-1; i++) {
for (int j = lst1.size()-1; j >i; j--) {
if (lst1.get(j).equals(lst1.get(i))) {
lst1.remove(j);
}
}
}
System.out.println(lst1);
//方法 2.
List<String> lst2=new ArrayList<>();
for (String s:lst1) {
if (Collections.frequency(lst2, s)<1) {
lst2.add(s);
}
}
System.out.println(lst2);