【Java基础】【16List集合】
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存储字符串并遍历泛型版
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:泛型通配符<?>
- 任意类型,如果没有明确,那么就是Object以及任意的Java类了
- B:? extends E
- 向下限定,E及其子类
- C:? super E
- 向上限定,E及其父类
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嵌套ArrayList
16.20_day16总结
- 把今天的知识点总结一遍。
【Java基础】【16List集合】的更多相关文章
- java基础-Map集合
java基础-Map集合 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Map集合概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它 ...
- 第6节:Java基础 - 三大集合(上)
第6节:Java基础 - 三大集合(上) 本小节是Java基础篇章的第四小节,主要介绍Java中的常用集合知识点,涉及到的内容包括Java中的三大集合的引出,以及HashMap,Hashtable和C ...
- Java基础之 集合体系结构(Collection、List、ArrayList、LinkedList、Vector)
Java基础之 集合体系结构详细笔记(Collection.List.ArrayList.LinkedList.Vector) 集合是JavaSE的重要组成部分,其与数据结构的知识密切相联,集合体系就 ...
- 备战金三银四!一线互联网公司java岗面试题整理:Java基础+多线程+集合+JVM合集!
前言 回首来看2020年,真的是印象中过的最快的一年了,真的是时间过的飞快,还没反应过来年就夸完了,相信大家也已经开始上班了!俗话说新年新气象,马上就要到了一年之中最重要的金三银四,之前一直有粉丝要求 ...
- java基础技术集合面试【笔记】
java基础技术集合面试[笔记] Hashmap: 基于哈希表的 Map 接口的实现,此实现提供所有可选的映射操作,并允许使用 null 值和 null 键(除了不同步和允许使用 null 之外,Ha ...
- Java基础--说集合框架
版权所有,转载注明出处. 1,Java中,集合是什么?为什么会出现? 根据数学的定义,集合是一个元素或多个元素的构成,即集合一个装有元素的容器. Java中已经有数组这一装有元素的容器,为什么还要新建 ...
- JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API
森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397 文章- 0 评论- 78 JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...
- 《回炉重造 Java 基础》——集合(容器)
整体框架 绿色代表接口/抽象类:蓝色代表类. 主要由两大接口组成,一个是「Collection」接口,另一个是「Map」接口. 前言 以前刚开始学习「集合」的时候,由于没有好好预习,也没有学好基础知识 ...
- java基础之集合长度可变的实现原理
首先我们要明白java中的集合Collection,List,ArrayList之间的关系: ArrayList是具体的实现类,实现了List接口 List是接口,继承了Collection接口 Li ...
- JAVA基础整理-集合篇(一)
集合作为JAVA的基础知识,本来感觉自己理解的很清楚了,但是在最近的一次面试中还是答得不尽如人意!再次做一下整理,以便加深理解以及随时查阅. 首先,java.util包中三个重要的接口及特点:List ...
随机推荐
- 实现webservice过滤器,请求日志和权限等
过滤webservice的请求日志,做权限验证功能等. 1. namespace WebApplication1 { public class SimpleWSInvokeMonitorExtensi ...
- hashlib 模块
import hashlib # ob = hashlib.md5() # ob.update("admin".encode("utf-8")) # print ...
- JS 多选文件或者选择文件夹
<%--文件多选--%> <input type="file" name="file" id="file" multipl ...
- layui 表格内容显示更改
在cole 中使用temple 属性进行修改 例: table.render({ elem: '#messageTable' ,id: 'search_table_mId' ,height: 500 ...
- Linux常用服务器搭建
1.Linux常用服务器构建-ftp服务器 ftp服务器 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”. 用于Internet上的控制文件 ...
- 数据调试~~TCP转串口、串口转TCP调试
Android socket开发了一个socket客户端,当输入服务器ip以及端口,建立连接之后,Android可以发送数据到电脑接收服务器端. 如果电脑端没有socket服务器怎么办?方法如下: 1 ...
- ABP入门系列(4)——创建应用服务
ABP入门系列目录--学习Abp框架之实操演练 一.解释下应用服务层 应用服务用于将领域(业务)逻辑暴露给展现层.展现层通过传入DTO(数据传输对象)参数来调用应用服务,而应用服务通过领域对象来执行相 ...
- 【原创开源应用第5期】基于RL-USB+RL-FlashFS的外挂U盘解决方案
说明:1.RL-USB外挂U盘的例子,最近太多网友咨询,再不做一个例子就说不过去了.此例子为此而生.2.RTX及其所有中间件基本都做例子了,就差这个USB Host功能了,这次算是补上,所有功能基本已 ...
- 导出excel表格,前端和后台导出
问题:项目框架中导出不知道有什么限制,数据稍微大点导出不了,向上面请求解决,结果一圈推下来又推回来了,所以决定自己写,参考了网上很多大神的博客,开始试了前端导出,想着比较简单,但是乱码问题始终解决不了 ...
- [Swift]LeetCode150. 逆波兰表达式求值 | Evaluate Reverse Polish Notation
Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...