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 ...
随机推荐
- Yahoo Programming Contest 2019 自闭记
A:签到. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> ...
- P1428 小鱼比可爱
P1428 题目描述 人比人,气死人:鱼比鱼,难死鱼.小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度.参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱 ...
- 洛谷3822 [NOI2017] 整数 【线段树】【位运算】
题目分析: 首先这题的询问和位(bit)有关,不难想到是用线段树维护位运算. 现在我们压32位再来看这道题. 对于一个加法操作,它的添加位置可以得到,剩下的就是做不超过32的位移.这样根据压位的理论. ...
- bzoj 2054: 疯狂的馒头(线段树||并查集)
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2054 线段树写法: 点的颜色只取决于最后一次染的颜色,所以我们可以倒着维护,如果当前区间之前 ...
- Codeforces Round #511 (Div. 1) C. Region Separation(dp + 数论)
题意 一棵 \(n\) 个点的树,每个点有权值 \(a_i\) .你想砍树. 你可以砍任意次,每次你选择一些边断开,需要满足砍完后每个连通块的权值和是相等的.求有多少种砍树方案. \(n \le 10 ...
- Android 播放Gif 动画
在Android 中是不支持直接使用Gif 图片关联播放帧动画,如下动画在Android 中是无法播放的: Android 提供了另外一种解决的办法,就是使用AnimationDrawable 这一函 ...
- Docker使用阿里云docker镜像加速
首先进入阿里云docker库首页 https://dev.aliyun.com/ 点击 管理中心 点击 加速器 复制下面的加速地址 进入docker的 Settings 把basic 切换成 adva ...
- Hyper-V:无法打开虚拟机XXX,因为虚拟机监控程序未运行
异常处理汇总-服务器系列:http://www.cnblogs.com/dunitian/p/4522983.html 异常处理汇总-开发工具 http://www.cnblogs.com/duni ...
- Spring注解方式实现任务调度
原文:http://docs.spring.io/spring/docs/4.0.1.BUILD-SNAPSHOT/javadoc-api/ 注解类型:EnableScheduling @Target ...
- 洛谷P3674 小清新人渣的本愿
题意:多次询问,区间内是否存在两个数,使得它们的和为x,差为x,积为x. n,m,V <= 100000 解: 毒瘤bitset...... 假如我们有询问区间的一个桶,那么我们就可以做到O(n ...