标签:
ArrayList去除集合中字符串的重复值
public static ArrayList getSingle(ArrayList list) {
ArrayList newList = new ArrayList(); //创建一个新集合
Iterator it = list.iterator(); //获取迭代器
while(it.hasNext()) { //判断老集合中是否有元素
String temp = (String)it.next(); //将每一个元素临时记录住
if(!newList.contains(temp)) { //如果新集合中不包含该元素
newList.add(temp); //将该元素添加到新集合中
}
}
return newList; //将新集合返回
}
ArrayList去除集合中自定义对象元素的重复值,需要重写quals()方法的 //remove和contains方法底层都依赖于equal方法!未重写比较的是地址值(对象)。String类中已重写
LinkedList类特有功能
* public void addFirst(E e)及addLast(E e)
* public E getFirst()及getLast()
* public E removeFirst()及public E removeLast() //在LinkedList中删除元素并返回该值!
* public E get(int index);
泛型:用于限定容器中可存放数据类型的标签
好处:1、提高安全性(将运行期的错误转换到编译期) ;2、省去强转的麻烦
使用方法:<>中放的必须是引用数据类型
注意事项:前后的泛型必须一致,或者后面的泛型可以省略不写(1.7的新特性菱形泛型)
增强for循环格式:
for(元素数据类型 变量 : 数组或者Collection集合) {
使用变量即可,该变量就是元素 }
三种迭代的能否删除:
* 普通for循环,可以删除,但是索引要 i-- (因为删除元素之后集合所有元素向前移动)
* 迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
* 增强for循环不能删除
静态导入,据说没什么用~_~
可变参数应用场景:定义方法的时候不知道该定义多少个参数
格式: 修饰符 返回值类型 方法名(数据类型… 变量名){}
Arrays工具类的asList()方法的使用 // asList()返回的是一个List数组!List<String> list1 = Arrays.asList(s);// 只能以List接收!
Collection中toArray(T[] a)泛型版的集合转数组 //String[] s = list.toArray(new String[0]);
数组转集合虽然不能增减集合长度,但是可以用集合中的方法(除了增加和减少)操作数组
基本数据类型的数组转换成集合,会将整个数组当作一个对象存储,转为其包装类之后可以一个个存储!也就是说要想将数组转换为集合,数组必须是引用数据类型!
标签:
原文地址:http://www.cnblogs.com/meng726477179/p/5781363.html