集合(三)————list集合的子类
来源:互联网 发布:淘宝怎么设置降价提醒 编辑:程序博客网 时间:2024/06/05 07:34
1. 去除ArrayList中重复字符串元素方式
* A:案例演示
* 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)
* 思路:创建新集合方式
* A:案例演示
* 需求:ArrayList去除集合中自定义对象元素的重复值(对象的成员变量值相同)
* B:注意事项
* 重写equals()方法的
* A:案例演示
* ArrayList存储字符串并遍历增强for版
* 普通for循环,可以删除,但是索引要--
* 迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
* 增强for循环不能删除
* A:案例演示
* 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)
* 思路:创建新集合方式
/** * A:案例演示 * 需求: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);ArrayList newList = getSingle(list);System.out.println(newList);}/* * 去除重复 * 1,返回ArrayList * 2,参数列表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;//将新集合返回}2. 去除ArrayList中重复自定义对象元素
* A:案例演示
* 需求:ArrayList去除集合中自定义对象元素的重复值(对象的成员变量值相同)
* B:注意事项
* 重写equals()方法的
public class Demo2_ArrayList {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));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);}/* * 创建新集合将重复元素去掉 * 1,明确返回值类型,返回ArrayList * 2,明确参数列表ArrayList * * 分析: * 1,创建新集合 * 2,根据传入的集合(老集合)获取迭代器 * 3,遍历老集合 * 4,通过新集合判断是否包含老集合中的元素,如果包含就不添加,如果不包含就添加 */public static ArrayList getSingle(ArrayList list) {ArrayList newList = new ArrayList<>();//1,创建新集合Iterator it = list.iterator();//2,根据传入的集合(老集合)获取迭代器while(it.hasNext()) {//3,遍历老集合Object obj = it.next();//记录住每一个元素if(!newList.contains(obj)) {//如果新集合中不包含老集合中的元素newList.add(obj);//将该元素添加}}return newList;}}3. LinkedList的特有功能
public class Demo3_LinkedList {/** * public void addFirst(E e)及addLast(E e)* public E getFirst()及getLast()* public E removeFirst()及public E removeLast()* public E get(int index); */public static void main(String[] args) {LinkedList list = new LinkedList();list.addFirst("a");list.addFirst("b");list.addFirst("c");list.addFirst("d");list.addLast("e");//System.out.println(list.getFirst());//System.out.println(list.getLast());//System.out.println(list.removeFirst());//System.out.println(list.removeLast());System.out.println(list.get(1));System.out.println(list);}/*dcbae*/}4. ArrayList存储字符串和自定义对象并遍历增强for版
* A:案例演示
* ArrayList存储字符串并遍历增强for版
ArrayList<String> list = new ArrayList<>();list.add("a");list.add("b");list.add("c");list.add("d");for(String s : list) {System.out.println(s);}5. 三种迭代的能否删除
* 普通for循环,可以删除,但是索引要--
* 迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
* 增强for循环不能删除
阅读全文
0 0
- 集合(三)————list集合的子类
- java集合(三)——集合 List
- Java集合类的学习(三)——List
- 集合——List集合
- Java集合—List集合
- 由浅入深理解java集合(三)——集合-List
- 黑马程序员——集合框架collection集合接口及List子类
- (33)Java学习笔记——集合框架 / List集合&子类 / 常见数据结构
- 集合框架-List的子类
- Groovy入门(三)——集合类型List
- 集合—List类
- Java_集合—List
- java集合系列——List集合之LinkedList介绍(三)
- Day15—List集合、Queue集合、Set集合
- 集合(二)————list集合
- java集合系列——List集合总结(六)
- JAVA学习第三十四课 (常用对象API)—List集合及其子类特点
- 集合框架(List的三个子类的特点)
- 前端学习资源整理下载
- 记一次不顺畅的沟通
- 局域网内地两台电脑如何传输文件
- 【C++】复制构造函数(拷贝构造函数)和=运算符重载使用的区别
- hustoj的一些改动
- 集合(三)————list集合的子类
- Python入门学习第一天_2017.11.24
- 给服务器装linux系统
- python3 scrapy 使用PhantomJS作为middlewares爬取动态加载的数据
- Android7.1 GUI系统中的本地窗口(二)
- spring MVC原理图
- Springboot启动
- 2018届各大互联网公司校招薪资汇总表下载
- 【nachos】山东大学操作系统课设实验nachos系统(6)系统调用Exec()和Exit()