码迷,mamicode.com
首页 > 编程语言 > 详细

java016.集合

时间:2016-08-17 19:41:46      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

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]);
 数组转集合虽然不能增减集合长度,但是可以用集合中的方法(除了增加和减少)操作数组
 基本数据类型的数组转换成集合,会将整个数组当作一个对象存储,转为其包装类之后可以一个个存储!也就是说要想将数组转换为集合,数组必须是引用数据类型!

 

java016.集合

标签:

原文地址:http://www.cnblogs.com/meng726477179/p/5781363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!