JAVA核心技术I---JAVA基础知识(数据结构基础)
一:数组
(一)基本内容是与C一致的
(二)数组定义和初始化
(1)声明
int a[]; //a没有new操作,没有被分配内存,为null
int[] b; //b没有new操作,没有被分配内存,为null(可以看做指针) int[] c=new int[]; //为c分配了空间,且数据初始为0 for(int e : c) {
System.out.println(e);
}

(2)初始化
int d[] = new int[] {,,};
int d1[]= {1,3,5}; //最符合c
(三)数组索引
(1)数组的length属性标识数组的长度,从0开始,到length -1
(2)越界ArrayIndexOutOfBoundsException异常
(3)遍历方式
int d[] = new int[] {,,};
for(int e : d) {
System.out.println(e);
}
for(int i=;i<d.length;i++) {
System.out.println(d[i]);
}
(四)多维数组:不同之处在于可以实现不规则数组
//规则数组
int a[][] = new int[][]; //不规则数组
int b[][];
b=new int[][];
b[] = new int[];
b[] = new int[];
b[] = new int[]; int k=; for(int i=;i<b.length;i++) {
for(int j=;j<b[i].length;j++) {
b[i][j]=k++;
}
} for(int[] items : b) {
for(int item : items) {
System.out.println(item);
}
}
二:JCF<Java Collection Framework>容器框架(同C++中STL)
(一)容器和容器框架了解
容器:能够存放数据的空间结构
–数组/多维数组,只能线性存放 顺序存储
–列表/散列集/树/..... 非顺序存储
容器框架:为表示和操作容器而规定的一种标准体系结构
–对外的接口:容器中所能存放的抽象数据类型
–接口的实现:可复用的数据结构
–算法: 对数据的查找和排序
容器框架优点:提高数据存取效率,避免程序员重复劳动
Java .1和以前的数据结构
–Vector, Stack, Hashtable,Enumeration等
Java1.2和以后,JCF集合框架
–功能更强大
–易于学习
–接口和实现分离,多种设计模式设计更灵活
–泛型设计
(二)结构分类


(三)接口,实现,算法
(1)接口

(2)数据结构实现类

(3)算法类

JAVA核心技术I---JAVA基础知识(数据结构基础)的更多相关文章
- Linux基础知识与基础命令
Linux基础知识与基础命令 系统目录 Linux只有一个根目录,没有盘符的概念,文件目录是一个倒立的树形结构. 常用的目录功能 bin 与程序相关的文件 boot 与系统启动相关 cdrom 与Li ...
- java线程基础知识----线程基础知识
不知道从什么时候开始,学习知识变成了一个短期记忆的过程,总是容易忘记自己当初学懂的知识(fuck!),不知道是自己没有经常使用还是当初理解的不够深入.今天准备再对java的线程进行一下系统的学习,希望 ...
- [Windows驱动开发](二)基础知识——数据结构
本节主要介绍驱动开发的一些基础知识. 1. 驱动程序的基本组成 1.1. 最经常见到的数据结构 a. DRIVER_OBJECT驱动对象 // WDK中对驱动对象的定义 // 每个驱动程序都会有一个唯 ...
- day63:Linux:nginx基础知识&nginx基础模块
目录 1.nginx基础知识 1.1 什么是nginx 1.2 nginx应用场景 1.3 nginx组成结构 1.4 nginx安装部署 1.5 nginx目录结构 1.6 nginx配置文件 1. ...
- 这些C++基础知识的基础知识你都学会了吗?
一.C++基础知识 新的数据类型 C语言中的数据类型 C++中新的数据类型 思考:新的数据类型有什么好处?请看下面的代码: 可以见得:新的类型使整个程序更加简洁,程序变得易读易懂!这个就是bool ...
- 读书笔记-《Java核心技术卷I-基础知识》
1.定时器Timer类 构造定时器时,需要设置一个时间间隔,并告知定时器,当到达时间间隔时需要做什么操作.定时器需要知道调用哪一个方法,并要求传递的对象所属的类实现了java.awt.event包的A ...
- python基础知识---数据结构之间的转换
- Java核心技术(Java白皮书)卷Ⅰ 第一章 Java程序设计概述
第1章 Java程序设计概述1.1 Java程序设计平台 具有令人赏心悦目的语法和易于理解的语言,与其他许多优秀语言一样,Java满足这些要求. 可移植性 垃圾收集 提供大型的库 如果想要有奇特的绘 ...
- Ceph基础知识和基础架构认识
1 Ceph基础介绍 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备存储和文件系统服务.在虚拟化领域里,比较常用到的是Cep ...
- Ceph 基础知识和基础架构认识
1 Ceph基础介绍 Ceph是一个可靠地.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备存储和文件系统服务.在虚拟化领域里,比较常用到的是Cep ...
随机推荐
- Newtonsoft.Json 概述
有时候,在前后台数据交互或者APP与后台交互的时候,我们通常会使用Json进行数据交互,为此会使用到Newtonsoft.Json.dll 这个类库,这个类库非微软官方,但是下载量已经超过了数十万次, ...
- 洛谷P1038神经网络题解
题目 这个题不得不说是一道大坑题,为什么这么说呢,这题目不仅难懂,还非常适合那种被生物奥赛刷下来而来到信息奥赛的学生. 因此我们先分析一下题目的坑点. 1: 题目的图分为输入层,输出层,以及中间层. ...
- Spring模块介绍
GroupId ArtifactId 说明 org.springframework spring-beans Beans 支持,包含 Groovy org.springframework spring ...
- [LightOJ1038] Race to 1 Again
传送门:>出错啦< 题意:给你一个整数n,每一次可以随机选择一个n的因子x(包括1和它自己),让n除以x——不停重复此过程,直到n==1. 问n被除到1的期望次数. 解题思路: 今天刚学的 ...
- HDOJ 5667 Sequence//费马小定理 矩阵快速幂
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5667 题意:如题给了一个函数式,给你a,b,c,n,p的值,叫你求f(n)%p的值 思路:先对函数取以a为 ...
- haar的简单应用(1)
又双叒叕出现问题了,还是重置系统的原因,弄半天终于弄好了,就不说这个了 直接记录一下该做的 如下教程中的文件我倒是都找到了(但是这些文件在目前的代码中都用不到..) 在这里 令我无语的他只用了一个.x ...
- 线段树 by yyb
线段树 by yyb Type1 维护特殊信息 1.[洛谷1438]无聊的数列 维护一个数列,两种操作 1.给一段区间加上一个等差数列 2.单点询问值 维护等差数列 不难发现,等差数列可以写成\(ad ...
- neutron相关知识
Neutron 对虚拟三层网络的实现是通过其 L3 Agent (neutron-l3-agent).该 Agent 利用 Linux IP 栈.route 和 iptables 来实现内网内不同网络 ...
- scrapy 基本命令
创建scrapy项目 scrapy startproject project_name 创建爬虫文件 scrapy genspider [-t template] <name> <d ...
- codeforces #530 D(Sum in the tree) (树上贪心)
Mitya has a rooted tree with nn vertices indexed from 11 to nn, where the root has index 11. Each ve ...