泛型与集合框架

  • Generics
  • 链表
    • LinkedList < E >泛型类
    • 接口回调
    • 常用方法
      • LinkedList< E >泛型类实现Link< E >泛型接口
      • LinkedList< E >泛型类新增加的常用方法
      • iterator遍历链表vs get()遍历链表
  • 堆栈
  • 散列映射
  • 树集
  • 树映射
  • 自动装箱与拆箱
  • Summarizition
  • References
    • Edition 2021/12/5

Generics

JDK1.5推出,建立具有类型安全的集合框架

class People<E>
class Cone<E>{
double height;
E bottom;
public Cone(E b){
bottom=b;
}
}

使用泛型类声明对象

Cone<Circle>coneOne;
coneOne =new Cone<Circle>(new Circle());

泛型变量只能调用从Object类继承的或重写的方法

public class Solution{
public static void main(String arg[]){
Circle circle=new Circle(10);
Cone<circle> coneOne=new Cone<Circle>(circle);
}

链表

LinkedList < E >泛型类

LinkedList<String> mylist=new LinkedList<String>();
mylist.add("isReflective");
mylist.add("isSymmetrical");
mylist.add("isTransitive");

接口回调

常用方法

LinkedList< E >泛型类实现Link< E >泛型接口

public boolean add(E element)向链表尾端添加一个新结点
public void add(index,E element)向指定位置添加一个新结点
public void clear()删除所有结点
public E remove(int index)删除指定位置上的结点
public boolean remove(E element)删除首次出现含有数据element的结点
public E get(int index)得到链表中指定结点的数据
public int indexOf(E element)返回含有数据element的结点在链表中首次出现的位置
public int lastIndexOf(E element)返回含有数据element的结点在链表中最后出现的位置
public E set(int index,E element)用element数据替换指定结点的数据
public int size()返回链表长度(返回结点个数)
public boolean contains(Object element)判断链表中是否含有数据element

LinkedList< E >泛型类新增加的常用方法

public void addFirst(E element)
public void addLast(E element)
public E getFirst()
public E getLast()
public E removeFirst()
public E removeLast()
public Object clone()

iterator遍历链表vs get()遍历链表

import java.util.*;
public class Solution{
public static void main(String args[]){
List<String> list=new LInkedList<String>();
for(int i=0;i<=60096;i++){
list.add("speed"+i);
}
Iterator<String> iter=list.iterator();
long starttime=System.currentTimeMillis();
while(iter.hasNext()){
String te=iter.next();
}
long endTime=System.currentTimeMillis();
long result=endTime-starttime;
System.out.println("iterator"+result+"milliseconds");
starttime=System.currentTimeMillis();
for(int i=0;i<list.size();i++){
String te=list.get(i);
}
endTime=System.currentTimeMillis();
result=endTime-starttime;
System.out.println("get"+result+"milliseconds");

堆栈

散列映射

树集

树映射

自动装箱与拆箱

Summarizition

References

Edition 2021/12/5

Java实用教程笔记 泛型与集合框架相关推荐

  1. Java实用教程笔记 Java多线程机制

    Java多线程机制 泛型要考,后来又说不考了 多线程不考 12.1 进程与线程Process and Thread 12.2Java中的线程Threads in Java 线程的状态与生命周期The ...

  2. Java实用教程笔记 组件及事件处理

    组件及事件处理 JFrame()常用方法 其中至少要掌握的 拓展 示例 AWT Swing SWT AWT 抽象窗口工具包 AWT(Abstract Window Toolkit),中文译为抽象窗口工 ...

  3. Java实用教程笔记 输入、输出流

    输入.输出流 期末考试会从10.1考到10.5 源&目的地 10.1File类 创建一个File对象的构造方法 文件属性 目录 创建目录 列出目录中的文件 FilenameFilter接口 辨 ...

  4. Java实用教程笔记 常用实用类

    常用实用类 8.1 String类 判断引用是否为同一变量 常量池vs非常量池(动态区) equals 输出对象为内存地址的方式 "==" 运算结果为ture/false的比较方式 ...

  5. Java实用教程笔记 接口与实现

    接口与实现 6.1接口(中间人) 接口方法全为public abstract 接口中没有构造函数,方法可以抛出异常 接口没有任何函数逻辑(对外开放) 接口可继承 接口.类(内部类.匿名类)都会生成cl ...

  6. Java实用教程笔记 子类与继承2

    子类与继承2 Review 继承方式比较 继承后子类对父类的访问权限说明 super关键字作用(2个) 构造函数的调用顺序 没有参数的构造函数即为默认构造函数 Lecture notes final关 ...

  7. Java实用教程笔记 子类与继承

    子类与继承 Unity 游戏仿真 C#与Java语法差不多 java.lang.Object Object是所有类的祖先类/始祖类 任何一个类最终都能转化为Object类的对象 Java库中的类是基础 ...

  8. Java实用教程笔记 类与对象(续)

    类与对象(续) 实例变量(动态变量) 类变量(静态变量)(数据共享)static(尽量写成public(private和protected毫无意义)) 实例方法(既可访问静态数据,又可访问动态数据)A ...

  9. Java实用教程笔记 类与对象

    类与对象 Abstract Body instanceof 文件后缀名 .py .c .cpp .java 成员函数/成员方法/行为 interface接口 可类比C++中抽象类 IDEA快捷键操作 ...

最新文章

  1. HDU1753 大明A+B(大数相加)(Java题解)
  2. s5p4418 Android 4.4.2 驱动层 HAL层 服务层 应用层 开发流程记录(一 硬件驱动层)
  3. 雷蛇鼠标宏文件_《硬事要说34》稳接曼巴的旗?雷蛇巴塞利斯蛇[终极版]解读...
  4. 2019数据技术嘉年华·金融峰会6月28日落地深圳,参会的六大理由
  5. HTML5拖放API(代码展示)
  6. zTree结合Asp.net实现异步加载数据(写的可能有点简单....)
  7. fhq-treap模板
  8. 为qt程序添加ico图标
  9. 什么是Ruby on Rails?
  10. java json jar包下载_jsonobject必备jar包
  11. 基于Java毕业设计高考志愿智能辅助填报系统源码+系统+mysql+lw文档+部署软件
  12. 测试 这篇是拿来测试51ditu的OpenAPI的
  13. 发现贝叶斯的乐高积木
  14. 分享一个做AR很好用的软件
  15. 【人工智能】CB Insights:2018年全球人工智能发展趋势报告
  16. 还有不了解cookie的么,什么是cookie?cookie一直在用么?
  17. 关于小梅哥74HC595驱动设计的思考
  18. 交换机综合实验(华为)
  19. 经典算法--韩信点兵
  20. 简述计算机仿真的基本步骤,计算机仿真技术试卷.doc

热门文章

  1. hashtable、hashmap、ConcurrentHashMap、treemap的区别
  2. Ubuntu/Debian 系统切换Java(JVM),修改Java版本,JAVA_HOME
  3. java resultset wasnull_Java Spring – RowMapper ResultSet – 整数/空值
  4. python虚拟环境安装pyqt5_python虚拟环境安装pyqt5
  5. 整数边界对齐方式_嵌入式基础——字节对齐
  6. javascript常用方法函数收集
  7. mysql实例管理工具巨杉_实例管理工具_操作_MySQL实例_关系型数据库实例_文档中心_SequoiaDB巨杉数据库...
  8. linux vim编辑器主要作用,Linux-vim编辑器
  9. 绘制分类界面以及性能曲面中的meshgrid函数
  10. Thonny开发环境中显示数据曲线