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 ...
随机推荐
- LOJ2721 [NOI2018] 屠龙勇士 【扩展中国剩余定理】
好久没写了,写一篇凑个数. 题目分析: 这题不难想,讲一下中国剩余定理怎么扩展. 考虑$$\left\{\begin{matrix}x \equiv a\pmod{b}\\ x \equiv c\pm ...
- 【BZOJ4331】[JSOI2012]越狱老虎桥(Tarjan)
[BZOJ4331][JSOI2012]越狱老虎桥(Tarjan) 题面 BZOJ 然而BZOJ是权限题QwQ 洛谷 题解 先求出所有割边,那么显然要割掉一条割边. 如果要加入一条边,那么显然是把若干 ...
- HZNU ACM一日游 2019.3.17 【2,4,6-三硝基甲苯(TNT)】
Travel Diary 早上8:00到HG,听说hjc20032003在等我. 然后他竟然鸽我...最后还是勉强在8:30坐上去偏僻的HZNU的地铁. 到文新,然后带上fjl,打滴滴,一行人来到了H ...
- hdu2586How far away ?(LCA LCATarjan离线)
题目链接:acm.hdu.edu.cn/showproblem.php?pid=2586 题目大意:有n个点,同n-1条带有权值的双向边相连,有m个询问,每个询问包含两个数x,y,求x与y的最短距离. ...
- 编写高质量代码:改善Java程序的151个建议 --[0~25]
警惕自增的陷阱 public class Client7 { public static void main(String[] args) { int count=0; for(int i=0; i& ...
- C# Winfrom 发送邮件验证码&Timer控件
邮件发送: //定义一个全局的string类型的验证码: string yzm = ""; //定义一个字符串,这里面包含所有需要的验证码的元素: string a = " ...
- 【CF1154】题解
A 直接模拟即可. B 对数组中的值进行排序去重.发现若去重之后的数组中有大于 3 个数时无解,因为无法找到一个点到数轴上四个点的距离均相等.若去重之后的数组中只有三个值,则判断中间的值是否到两边的值 ...
- Django 项目内利用ORM直接运行脚本读库
#导包 import os import sys #将脚本所在工程添加到环境变量 #绝对路径 # sys.path.append('c:/Users/nxy/www/mymac') #相对路径 sys ...
- vue在body上面绑定enter事件
mounted () { this.bodyListener = (e) => { if (e.keyCode === 13 && e.target === document.b ...
- postman charles设置代理
1.首先现在证书 2.确保手机和电脑是同一网络,ifconfig查看电脑ip 3.设置手机->配置代理-手动-服务器(电脑的ip)-端口8888 4.设置charles代理 5.重新启动char ...