首页 > 编程语言 >java-数据结构

java-数据结构

时间:2023-12-10 12:12:19浏览次数:42  
标签:遍历 java 自定义 增删 数组 泛型 数据结构

数据结构
A:栈
先进后出
B:队列
先进先出
C:数组
查询快,增删慢
D:链表
查询慢,增删快
List的三个实现类
(1)List的三个实现类特点
A:ArrayList
底层数据结构是数组,查询快,增删慢
线程不安全,效率高
B:Vector
底层数据结构是数组,查询快,增删慢
线程安全,效率低
C:LinkedList
底层数据结构是链表,查询慢,增删快
线程不安全,效率高
(2)ArrayList
A:存储字符串并遍历
B:存储自定义对象并遍历
(3)Vector
A:特有功能(了解)
a:addElement(object obj) -- add()
b:elementAt(int index) -- get()
c:elements() -- iterator()
B:存储字符串并遍历
C:存储自定义对象并遍历
(4)LinkedList
A:特有功能(了解)
a:addFirst(),addLast()
b:removeFirst(),removeLast()
c:getFirst(),getLast()
B:存储字符串并遍历
C:存储自定义对象并遍历
(5)案例:
A:去除ArrayList集合中重复字符串
B:去除ArrayList集合中重复自定义对象
contains()方法的底层源码是equals()
C:用LinkedList模拟栈数据结构的集合,并测试

泛型(掌握)
(1)泛型:是一种把明确数据类型的工作推迟到创建对象或者调用方法的时候采取明确的特殊的数据类型。
(2)格式:
<数据类型>
(3)好处:
A:提高了程序的安全性
B:把运行时期异常提前到了编译期
C:避免了强制类型转换
(4)在哪些地方使用泛型?
看API即可,如果类,抽象类,接口后面跟有<...>说明这里需要使用
(5)泛型的由来(理解)
A:泛型的由来
B:泛型类
C:泛型方法
D:泛型接口
E:泛型高级
(6)案例:
把前面的集合案例用泛型改进。

5:JDK5新特性(掌握)
(1)增强for(掌握)
A:格式
for(元素的数据类型 变量名 : 数组或者Collection集合对象) {
使用变量名即可
}
B:好处
简化了数组或者集合的遍历
C:注意事项
增强for的目标不能为null
(2)静态导入(了解)
A:格式
import static xxx.yyy.zzz.类名.方法名;
导入到了方法的级别
B:注意事项
a:方法必须是静态的
b:如果有同名的方法,将来使用的时候还要加前缀,意义不大,所以一般不用。
(3)可变参数(理解)
A:针对写功能的时候,参数个数不明确的情况
B:格式:
修饰符 返回值类型 方法名(形式参数数据类型... 变量) {}
C:注意实现
a:这个变量其实是数组,它会自动把多个元素组装成一个数组
b:如果一个方法有多个形式参数,可变参数一定放最后

标签:遍历,java,自定义,增删,数组,泛型,数据结构
From: https://www.cnblogs.com/qlshao/p/17892315.html

相关文章

  • Java中<where>和<if>标签的组合使用
     在Java中,并没有<where>和<if>标签的组合使用。这两个标签不是Java编程语言或Java标准库的一部分,它们可能是你所使用的特定框架或库提供的自定义标签。如果你正在使用某个特定的Java框架或模板引擎(如MyBatis、Thymeleaf等),这些框架或引擎可能提供了自定义标签,使得在代码中使用......
  • Java入门项目--蚂蚁爱购
    简介这是一个靠谱的Java入门项目实战,名字叫蚂蚁爱购。从零开发项目,视频加文档,十天就能学会开发JavaWeb项目,教程路线是:搭建环境=>安装软件=>创建项目=>添加依赖和配置=>通过表生成代码=>编写Java代码=>代码自测=>前后端联调=>准备找工作。学完即可成为合格的Java开发,心里有......
  • Java基于云端的云HIS服务平台源码
    云HIS是针对中小医疗机构推出的一套基于云端的云HIS服务平台,借助云his,将医院业务流程化,大大提高医院的服务效率和服务质量,为客户提供医院一体化的信息解决方案。云his主要功能:包含门诊收费管理,住院收费管理,门诊医生工作站,住院医生工作站,住院护士工作站,辅助检查科室管理,药房药品管......
  • java-数据和集合 and 数据结构
    1:数组:基本类型的数组:int[]引用类型的数组:Student[]2:Collection集合(掌握)(1)集合的由来我们学习的是面向对象的语言,而面向对象的语言常见的操作就是操作对象。为了方便我们对多个对象进行操作,我们可以使用对象数组来进行。但是对象数组的长度是固定的,不适应变化的需求,所......
  • Java入门项目--蚂蚁爱购
    ​ 简介这是一个靠谱的Java入门项目实战,名字叫蚂蚁爱购。从零开发项目,视频加文档,十天就能学会开发JavaWeb项目,教程路线是:搭建环境=>安装软件=>创建项目=>添加依赖和配置=>通过表生成代码=>编写Java代码=>代码自测=>前后端联调=>准备找工作。学完即可成为合格的Java开......
  • JAVA BLOG-3
    第一部分:对之前发布的第三阶段PTA题目集(1)前言:总结之前所涉及到的知识点、题量、难度等情况:知识点:第三阶段的知识点与前两个阶段相比多了很多,比如说多次接口的使用,Map与Set的使用,Arraylist排序的使用,正则表达式的使用,栈的实现及基本操作等等,与之前的简单的继承多态相比,知识点......
  • 【Java】删除List中的几行数据
    方法一: list.subList(from,to).clear();(注意不要超出list的长度范围)1List<Integer>list=newArrayList<>();2list.add(1);3list.add(2);4list.add(3);5list.add(4);6list.subList(0,2).clear();7System.out.println("list=>"+list);......
  • Java Swing
    Swing在Java中的使用:创建图形用户界面(GUI)的步骤和技巧Swing是Java的一个图形用户界面(GUI)工具包,它提供了创建窗口、对话框、按钮等GUI元素所需要的类和方法。下面我们将介绍Swing的基本使用方法,包括创建窗口、添加组件、事件处理等。一、创建窗口创建Swing应用程序的第一步是创......
  • Java之包装类的算法小题的练习
     算法小题练习一:需求:键盘录入一些1~10日之间的整数,并添加到集合中。直到集合中所有数据和超过200为止。代码示例:publicclassTest1{publicstaticvoidmain(String[]args){/*键盘录入一些1~10日之间的整数,并添加到集合中。直到集合中所有数据和超......
  • JAVA - Collections
    publicclassTest1{publicstaticvoidmain(String[]args){Students=newStudent("张三",18,"唱歌");Students1=newStudent("李四",27,"跳舞");Students2=newStudent("王五",26,&q......