java 集合学习笔记2-ArrayList LinkedList Vector 泛型 增强for 可变参数.docx

上传人:A*** 文档编号:142725477 上传时间:2020-08-22 格式:DOCX 页数:7 大小:12.76KB
返回 下载 相关 举报
java 集合学习笔记2-ArrayList LinkedList Vector 泛型 增强for 可变参数.docx_第1页
第1页 / 共7页
java 集合学习笔记2-ArrayList LinkedList Vector 泛型 增强for 可变参数.docx_第2页
第2页 / 共7页
java 集合学习笔记2-ArrayList LinkedList Vector 泛型 增强for 可变参数.docx_第3页
第3页 / 共7页
java 集合学习笔记2-ArrayList LinkedList Vector 泛型 增强for 可变参数.docx_第4页
第4页 / 共7页
java 集合学习笔记2-ArrayList LinkedList Vector 泛型 增强for 可变参数.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《java 集合学习笔记2-ArrayList LinkedList Vector 泛型 增强for 可变参数.docx》由会员分享,可在线阅读,更多相关《java 集合学习笔记2-ArrayList LinkedList Vector 泛型 增强for 可变参数.docx(7页珍藏版)》请在金锄头文库上搜索。

1、java 集合学习笔记2-ArrayList LinkedList Vector 泛型 增强for 可变参数1、集合-去除ArrayList中重复字符串元素 public static void main(String args) ArrayList list = new ArrayList(); list.add(a); list.add(a); list.add(b); list.add(b); list.add(b); list.add(c); list.add(c); list.add(c); list.add(c); System.out.println(list); ArrayLi

2、st newList = getSingle(list);/调用getSingle方法处理 System.out.println(newList); public static ArrayList getSingle(ArrayList list) ArrayList newList = new ArrayList(); /创建一个新集合 Iterator it = list.iterator(); /获取迭代器 while(it.hasNext() /判断老集合中是否有元素 String temp = (String)it.next(); /将每一个元素临时记录住 if(!newList.c

3、ontains(temp) /如果新集合中不包含该元素 newList.add(temp); /将该元素添加到新集合中 return newList; /将新集合返回 2、集合-去除ArrayList中重复自定义对象元素 需要重写自定义对象的equals()方法 例如: public static void main(String args) ArrayList list = new ArrayList(); /创建集合对象 list.add(new Person(张三, 23); list.add(new Person(张三, 23); list.add(new Person(李四, 24)

4、; list.add(new Person(李四, 24); list.add(new Person(李四, 24); list.add(new Person(李四, 24); /ArrayList newList = getSingle(list); /调用方法去除重复 /System.out.println(newList); list.remove(new Person(张三, 23); System.out.println(list); public static ArrayList getSingle(ArrayList list) ArrayList newList = new A

5、rrayList(); /1,创建新集合 Iterator it = list.iterator(); /2,根据传入的集合(老集合)获取迭代器 while(it.hasNext() /3,遍历老集合 Object obj = it.next(); /记录住每一个元素 if(!newList.contains(obj) /如果新集合中不包含老集合中的元素,会调用obj的equals方法去和newList的每个对象对比 newList.add(obj); /将该元素添加 return newList; 自定义类:需要重写equals方法,不然必然判断是不一样的 public class Pers

6、on private String name; private int age; public Person() super(); public Person(String name, int age) super(); this.name = name; this.age = age; public String getName() return name; public int getAge() return age; Override public String toString() return Person name= + name + , age= + age + ; Overri

7、de/重写equals方法 public boolean equals(Object obj) Person p = (Person)obj; return this.name.equals(p.name) & this.age = p.age; 3、集合-LinkedList的特有功能: 获取或删除第一个 最后一个元素 public void addFirst(E e)及addLast(E e) public E getFirst()及getLast() public E removeFirst()及public E removeLast() 4、集合-泛型: 泛型的由来:通过Object转

8、型问题引入 早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题。也就存在这隐患,所以Java提供了泛型来解决这个安全问题。 a、泛型好处提高安全性(将运行期的错误转换到编译期)省去强转的麻烦b、泛型基本使用中放的必须是引用数据类型c、泛型使用注意事项前后的泛型必须一致,或者后面的泛型可以省略不写(1.7的新特性菱形泛型) 5、集合-泛型类:把泛型定义在类上 public class 类名 泛型类型必须是引用类型 public class Tool private Q q; public Q getObj() return q; public void setO

9、bj(Q q) this.q = q; public void show(T t) /方法泛型最好与类的泛型一致 System.out.println(t); /如果不一致,需要在方法上声明该泛型 public static void print(W w) /静态方法必须声明自己的泛型 System.out.println(w); Tool t = new Tool(); /创建工具类对象 泛型类中的Q在调用的时候就会被赋值,例如上面的例子就是将Student对象赋值给了Q 6、集合-泛型方法:把泛型定义在方法上 public 返回类型 方法名(泛型类型 变量名) 有2种方式: public

10、class Tool private Q q; public Q getObj() return q; public void setObj(Q q) this.q = q; /第一种,方法泛型和类的泛型一致 public void show1(Q q) /方法泛型最好与类的泛型一致 System.out.println(q); /第二种,方法泛型和类的泛型不一致 public void show(T t) /方法泛型最好与类的泛型一致 System.out.println(t); /如果不一致,需要在方法上声明该泛型 /静态方法的泛型,也可以写成和类的泛型一致,但是是不一样的,static public static void print

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号