java之数据结构之链表及包装类、包
链表是java中的一种常见的基础数据结构,是一种线性表,但是不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针。与线性对应的一种算法是递归算法:递归算法是一种直接或间接的调用自身算法的过程,往往使算法的描述简洁而且易于理解。
使用递归算法就是自己调用自己,而递归算法必须要有出口,递归过多也会造成内存栈溢出
public static int JieGou(int num){
if(num==) return ;
return num*JieGou(num-); //调用自己
}
java中有8大基本数据类型,但是在面向对象中,本着一个设计的原则“一切皆对象”。在java的基本数据类型完全不符合这种思想。因为八种基本数据类型并不是引用数据类型,所以为了解决这个问题,引入了八种数据类型的包装类。
八种数据类型包装类分为两种:
Number:Integer、Short、Long、Double、Float、Byte
Object: Character、Boolean都是Object的直接子类
基本数据类型:-----------包装类
int--------------Integer
char------------Character
float------------Float
double---------Double
boolean--------Boolean
byte-----------Byte
short----------Short
long-----------Long
既然引入了包装类,那么包装类有什么作用呢?
在包装类中,可以将一个字符串变为指定的基本数据类型,输入数据时使用:
(1)、在Integer类中将string变为int类型数据
public static int parseInt(String msg);
(2)、在Float类中将String变为float类型数据
public static float parseFloat(String msg);
注意:转型操作时,字符串必须由数字组成,否则会出现错误。其他型的数据转换同理
String msg="";
int m=parseInt(msg);
System.out.println(m); 结果是:
//把一个字节的整数缓存在整数常量池中 Integer a=; Integer b=; System.out.println(a==b); 输出结果为真
包:包是对类文件进行分类管理的,给类提供了多层命名空间,包写在程序文件的第一行,类名的全称是包名.类名,包也算是一种包装形式。
包与访问修饰符:包对于对个java源文件的管理,就像文件目录一样
定义一个包:package com.vices.mihu;
记住:该语句只能出现在代码的第一句。
访问修饰符:
public : 同一个类 、同包 、不同包子类 、不同包非子类
protected : 同一个类 、同包 、不同包子类
默认 :同一个类 、同包
private :同一个类
总结:包与包之间的类进行访问,被访问的包中的类必须是public的,包中的类的方法也必须是public的。
那么如何来创建包?
在java环境下,在命令行中
javac -d.PackageDemo.java
容易出现两个错误:
1、找不到符号
原因:类名写错:调用另个包中的类创建对象,必须明确其包名:package.Demo d=new Package.Demo();
2、软件包不存在
原因:是当前目录下没找到,因为包存放在其他目录下,应该配置一个classpath
如何使用包?
导入包就可以使用该包下的文件
import package.Demo; //导入了package包中的Demo
import package.DemoA;
import package.abc.*; //导入了该包中的所有类
导包的原则:用到哪个类,就导入哪个类 :导包的目的就是为了简化类名的书写。
java之数据结构之链表及包装类、包的更多相关文章
- java实现 数据结构:链表、 栈、 队列、优先级队列、哈希表
java实现 数据结构:链表. 栈. 队列.优先级队列.哈希表 数据结构javavector工作importlist 最近在准备找工作的事情,就复习了一下java.翻了一下书和网上的教材,发现虽然 ...
- Java描述数据结构之链表的增删改查
链表是一种常见的基础数据结构,它是一种线性表,但在内存中它并不是顺序存储的,它是以链式进行存储的,每一个节点里存放的是下一个节点的"指针".在Java中的数据分为引用数据类型和基础 ...
- JAVA数据结构之链表
JAVA数据结构之链表 什么是链表呢? 链表作为最基本的数据结构之一,定义如下: 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的. 简单来说呢,链 ...
- 数据结构之链表及其Java实现
数据的存储一般分线性存储结构和链式存储结构两种.前者是一种顺序的存储方式,在内存中用一块连续的内存空间存储数据,即逻辑上相连的物理位置相邻,比较常见的就是数组:后者是一种链式存储方式,不保证顺序性,逻 ...
- 数据结构——单链表java简易实现
巩固数据结构 单链表java实现 单链表除了表尾 每个几点都有一个后继 结点有数据和后继指针组成 通过构建表头和表尾(尾部追加需要)两个特殊几点 实现单链表的一些操作,代码如下 package co ...
- 【Java数据结构】Java数据结构之链表反转
我们都知道用C可以很简单的实现单链表反转,今天来学习下,在Java中如何实现链表反转. 思路很简单,定义一个类,这个类分成2块,一块是表示自身的标志,另外一个存储指向下一个元素的引用.通过互换相邻两个 ...
- java项目——数据结构实验报告
java项目——数据结构总结报告 20135315 宋宸宁 实验要求 1.用java语言实现数据结构中的线性表.哈希表.树.图.队列.堆栈.排序查找算法的类. 2.设计集合框架,使用泛型实现各类. ...
- JAVA常用数据结构及原理分析
JAVA常用数据结构及原理分析 http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balaba ...
- (6)Java数据结构-- 转:JAVA常用数据结构及原理分析
JAVA常用数据结构及原理分析 http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balab ...
随机推荐
- C#之反射
Assembly assembly = Assembly.Load("PeopleDal"); //获取程序集名称 Module[] modules = assembly.GetM ...
- 85. Maximal Rectangle
85. Maximal Rectangle Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle c ...
- jquery的live转on的办法
<!DOCTYPE html> <html> <head> <script src="http://libs.baidu.com/jquery/1. ...
- MapReduce工作原理图文详解
目录:1.MapReduce作业运行流程2.Map.Reduce任务中Shuffle和排序的过程 1.MapReduce作业运行流程 流程示意图: 流程分析: 1.在客户端启动一个作业. 2.向Job ...
- 网站添加第三方登陆(PHP版)
这两周正在写毕业设计,我做的是一个问答网站.先介绍一下这个网站:这是一个关于大学生在线问答的网站,类似知乎和百度知道,不过功能没有人家多,毕竟这个网站我一个人在做.网站部署在阿里云,网站包括API,W ...
- 【React】组件生命周期
初始化阶段 getDefaultPropos:只调用一次,实力之间共享引用 getInitialState:初始化每个实例特有的状态 componentWillMount:render之前最后一次修改 ...
- Launching web on MyEclipse Tomcat 问题
错误提示: Launching web on MyEclipse Tomcat has encountered a problemAn internal error occurred during: ...
- ubuntu_tftp服务搭建
搭建过程: 1. sudo apt-get install tftpd-hpa tftp-hpa是客户端 tftpd-hpa是服务器端 2.建立目录 执行:mkdir /home/wmx/Deskto ...
- ListView中的setOnScrollListener
ListView是Android中最常用的控件之一,随着时代发展,RecyclerView有取代它的趋势,但是在一些老代码中,ListView依然扮演着重要的作用.项目中遇到一个需求,需要监听List ...
- python遍历一个网段的ip地址
def ip2num(ip):#ip to int num lp = [int(x) for x in ip.split('.')] return lp[0] << 24 | lp[1] ...