Java核心类库—数据结构—数据结构的概述

什么是数据结构

数据结构是计算机存储、组织数据的方式。

数据结构是指相互之间存在一种或多种特定关系的数据元素的集合

通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术相关。

常见的数据结构,数组(Array),栈(Stack),链表(Linked List),哈希表(Hash),队列(Queue),堆(Heap),图(Graph),树(Tree)

java中集合框架其实就是数据结构的实现的封装,这里是模拟和实现数据结构。

不同的数据结构的操作性能是不同的,有的查询性能很快,有的插入速度很快,有的插入头和尾速度很快,有的做等值判断很快,有的做范围查询很快,有的允许元素重复,有的不允许重复。

数据结构的作用

1.模拟生活中数据的存储

2.作为程序员开发的工具(发现某一个操作经常使用,每次使用都得重新调用很麻烦我们就把共同的操作封装成工具)

例如:数组的工具ArrayList。

时间: 2024-10-14 21:11:04

Java核心类库—数据结构—数据结构的概述的相关文章

Java核心类库-IO-文件流概述和系统属性

文件流概述和系统属性 文件流(纯文本文件):程序和文件打交道. 在字节流中不要使用中文 FileInputStream:文件的字节输入流. FileOutputStream:文件的字节输出流. FileReader:文件的字符输出流. FileWriter:文件的字符输出流. FileOutputStream: FileInputStream:

Java核心类库-IO-包装流概述和缓冲流原理

处理流/包装流(相对于节点流更高级): 1. 隐藏了底层的节点流的差异,并对外提供了更方便的输入/输出功能,让我们之关心高级流操作. 2. 使用处理包装流包装了节点流程序直接操作处理流,让节点流与底层的设备做IO操作. 3. 只需要关闭处理流即可 包装流如何分区:写代码的时候,发现创建对象的时候,需要传递另一个流对象.new 包装流(流对象): 什么是缓冲流: 是一个包装流,目的起缓存作用. BufferedInputStream: BufferedOutputStream: BufferedR

Java核心类库-IO-NIO概述

NIO:New IO 从JDK1.4开始提出的,新的IO,可以把一块磁盘文件映射到内存中,我们再去读取内存中的数据. 存放在java.nio包中 Java NIO(New IO)是Java1.4版本开始引入的一个新的IO API,可以替代标准Java IO API现在主要用于服务器中,对于我们写代码依然使用传统的IO就够了. Java NIO提供了与标准IO不同的IO工作方式: Channels and BUffers(通道和缓冲区):标准IO基于字节流和字符流进行操作的,而NIO是基于通道(C

Java核心类库-IO-IO概述

什么是IO:(Input/Output):输入和输出. IO设备:和电脑通信的设备. 输入设备:麦克风.扫描器.键盘.鼠标等. 输出设备:显示器,打印机,投影仪,耳机,音响等. 为什么程序需要IO呢? 案例1:打游戏操作,得分比较高的,存储游戏信息.  此时需要把游戏中的数据存储起来,只能存储在文件中. 案例2:打游戏操作,查看游戏英雄榜的数据存储在一个文件中.  此时游戏程序需要去读取文件中的数据,并显示在游戏中. 案例3:上传和下载操作. IO操作是一个相对的过程,一般的,我们在程序角度来思

Java核心类库-IO-扫描器(Scanner)数据流

Java.util.Scanner类:扫描器类,表示输入操作 存在的方法:xxx拜年是数据类型,如byte,int,boolean等 Xxx nextXxx():获取下一个该类型的数据 1 public static void main(String[] args) throws FileNotFoundException { 2 3 Scanner sc = new Scanner(new File("stream.txt"),"UTF-8"); 4 while

Java核心类库-IO-字节数组流/内存流

内存流(数组流): 把数据先临时存在数组中,待会再从数组中获取出来. 1. 字节内存流:ByteArrayInputStream/ByteArrayOutputStream 2. 字符内存流:CharArrayInputStream/CharArrayOutputStream 3. 字符串流:StringReader/StringWriter(把数据存放在数组中) 字节内存流: public class ByteArrayDemo { public static void main(java.l

Java 核心类库之反射机制

1:什么是反射机制? 2:反射机制它可以做什么呢? 3:反射机制对应的API又是什么? 1):通过反射机制来获取一个对象的全限定名称(完整包名),和类名: 2):实例化Class对象 3):获取对象的父类与实现的接口 4):获取类中的所有的方法或者单个方法 5):使用反射调用方法 && 使用反射调用静态方法 6):使用反射调用数组参数 7):使用反射,动态拷贝数组 7):获取一个类中所有的构造器,获取单个不带参数的构造器,获取带参数的构造器 8):使用反射调用构造器---->创建对象

Java核心类库—集合框架—ArrayList类

ArrayList类是java集合框架出现之后取代Vector类的 二者底层原理都是基于数组的算法,一模一样. 区别: Vector:所有的方法都使用了synchronize修饰符 线程安全但是性能较低,适用于多线程环境. ArrayList:所有的方法都没使用synchronize修饰符 线程不安全但性能较高. 即使以后多线程也不要使用Vector类 因为:List list = Collections.synchronizedList(new ArrayList(...)); 常用方法参照V

Java核心类库-IO-文件过滤器(FilenameFilter)

文件操作过滤器(FilenameFilter): listFiles(FilenameFilter filter )方法 : 实际就相当于: //文件过滤器(FilenameFilter)public class FileDemo1 { public static void main(String[] args) { File dir = new File("C:/Users/37335/Desktop/Java应用框架"); File[] fs = dir.listFiles(new