首页 > 编程 > Java > 正文

JAVASE基础-day16(集合之List集合)

2019-11-09 17:06:02
字体:
来源:转载
供稿:网友

16.01_集合框架(去除ArrayList中重复字符串元素方式)(掌握)

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; //将新集合返回}

16.02_集合框架(去除ArrayList中重复自定义对象元素)(掌握)

A:案例演示 需求:ArrayList去除集合中自定义对象元素的重复值(对象的成员变量值相同)B:注意事项 重写equals()方法的

16.03_集合框架(LinkedList的特有功能)(掌握)

A:LinkedList类概述B:LinkedList类特有功能 public void addFirst(E e)及addLast(E e)public E getFirst()及getLast()public E removeFirst()及public E removeLast()public E get(int index);

16.04_集合框架(栈和队列数据结构)(掌握)

栈 先进后出 队列 先进先出

16.05_集合框架(用LinkedList模拟栈数据结构的集合并测试)(掌握)

A:案例演示

需求:请用LinkedList模拟栈数据结构的集合,并测试创建一个类将Linked中的方法封装public class Stack { private LinkedList list = new LinkedList(); //创建LinkedList对象 public void in(Object obj) { list.addLast(obj); //封装addLast()方法 } public Object out() { return list.removeLast(); //封装removeLast()方法 } public boolean isEmpty() { return list.isEmpty(); //封装isEmpty()方法 }}

16.06_集合框架(泛型概述和基本使用)(掌握)

A:泛型概述B:泛型好处 提高安全性(将运行期的错误转换到编译期) 省去强转的麻烦C:泛型基本使用 <>中放的必须是引用数据类型 D:泛型使用注意事项 前后的泛型必须一致,或者后面的泛型可以省略不写(1.7的新特性菱形泛型)

16.07_集合框架(ArrayList存储字符串和自定义对象并遍历泛型版)(掌握)

A:案例演示 ArrayList存储字符串并遍历泛型版package com.heima.generic;import java.util.ArrayList;import java.util.Iterator;import com.heima.bean.Person;public class Demo2_Generic { /** * * A:案例演示 * ArrayList存储字符串并遍历泛型版 */ public static void main(String[] args) { //demo1(); ArrayList<Person> list = new ArrayList<>(); list.add(new Person("张三", 23)); list.add(new Person("李四", 24)); list.add(new Person("王五", 25)); list.add(new Person("赵六", 26)); Iterator<Person> it = list.iterator(); while(it.hasNext()) { Person p = it.next(); //将集合中的每一个元素用Person记录 System.out.println(p.getName() + "..." + p.getAge()); } } public static void demo1() { ArrayList<String> list = new ArrayList<>(); //创建集合对象 list.add("a"); list.add("b"); list.add("c"); list.add("d"); Iterator<String> it = list.iterator(); while(it.hasNext()) { System.out.println(it.next()); } }}

16.08_集合框架(泛型的由来)(了解)

A:案例演示 泛型的由来:通过Object转型问题引入早期的Object类型可以接收任意的对象类型,但是在实际的使用中,会有类型转换的问题。也就存在这隐患,所以Java提供了泛型来解决这个安全问题。

16.09_集合框架(泛型类的概述及使用)(了解)

A:泛型类概述 把泛型定义在类上B:定义格式 public class 类名<泛型类型1,…>C:注意事项 泛型类型必须是引用类型D:案例演示 泛型类的使用

16.10_集合框架(泛型方法的概述和使用)(了解)

A:泛型方法概述 把泛型定义在方法上B:定义格式 public <泛型类型> 返回类型 方法名(泛型类型 变量名)C:案例演示 泛型方法的使用

16.11_集合框架(泛型接口的概述和使用)(了解)

A:泛型接口概述 把泛型定义在接口上B:定义格式 public interface 接口名<泛型类型>C:案例演示 泛型接口的使用

16.12_集合框架(泛型高级之通配符)(了解)

A:泛型通配符

16.13_集合框架(增强for的概述和使用)(掌握)

A:增强for概述 简化数组和Collection集合的遍历B:格式: for(元素数据类型 变量 : 数组或者Collection集合) { 使用变量即可,该变量就是元素 }C:案例演示 数组,集合存储元素用增强for遍历D:好处 简化遍历

16.14_集合框架(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);}

16.15_集合框架(三种迭代的能否删除)(掌握)

普通for循环,可以删除,但是索引要–迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常增强for循环不能删除

16.16_集合框架(静态导入的概述和使用)(了解)

A:静态导入概述B:格式: import static 包名….类名.方法名;可以直接导入到方法的级别C:注意事项 方法必须是静态的,如果有多个同名的静态方法,容易不知道使用谁? 这个时候要使用,必须加前缀。由此可见,意义不大,所以一般不用,但是要能看懂。

16.17_集合框架(可变参数的概述和使用)(掌握)

A:可变参数概述 定义方法的时候不知道该定义多少个参数B:格式 修饰符 返回值类型 方法名(数据类型… 变量名){}C:注意事项: 这里的变量其实是一个数组如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个

16.18_集合框架(Arrays工具类的asList()方法的使用)(掌握)

A:案例演示 Arrays工具类的asList()方法的使用Collection中toArray(T[] a)泛型版的集合转数组

16.19_集合框架(集合嵌套之ArrayList嵌套ArrayList)(掌握)

A:案例演示 集合嵌套之ArrayList嵌套ArrayListpackage com.heima.list;import java.util.ArrayList;import com.heima.bean.Person;public class Demo5_ArrayListArrayList { /** * * A:案例演示 * 集合嵌套之ArrayList嵌套ArrayList * 案例: * 我们学科,学科又分为若个班级 * 整个学科一个大集合 * 若干个班级分为每一个小集合 */ public static void main(String[] args) { ArrayList<ArrayList<Person>> list = new ArrayList<>(); ArrayList<Person> first = new ArrayList<>(); //创建第一个班级 first.add(new Person("杨幂", 30)); first.add(new Person("李冰冰", 33)); first.add(new Person("范冰冰", 20)); ArrayList<Person> second = new ArrayList<>(); second.add(new Person("黄晓明", 31)); second.add(new Person("赵薇", 33)); second.add(new Person("陈坤", 32)); //将班级添加到学科集合中 list.add(first); list.add(second); //遍历学科集合 for(ArrayList<Person> a : list) { for(Person p : a) { System.out.println(p); } } }}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表