容器(Container):存储对象的东西。
容器是一个设计上的术语,不是一个语法概念。
比如数组,就是一个容器

数组容器
缺点:
1.容量固定,无法扩展。既不能射太大,也不能太小,很难确定。
2.插入和删除代价大。

链表可以完美解决。

链表(Linked List):一种组织数据的方式;

链表与容器:
严格来说,链表并不是容器,链表只是容器的一种实现方式;

1.插入链表
2.删除链表
3.查找链表

把对象放入容器;

下面是Java单链表的代码:

HelloWorld.java

package my;public class HelloWorld
{public static void main(String[] args){        LinkList a=new LinkList();for(int i=0;i<10;i++) {    //构造一个链表LinkNode b=new LinkNode(i);a.insertNode(i, b);}System.out.print("初始化的链表:");a.showList();LinkNode b=new LinkNode(100);System.out.print("(从0开始数)在第三个位置插入结点:");a.insertNode(3, b); a.showList();System.out.print("(从0开始数)删除第三个位置的结点:");a.deleteNode(3);a.showList();} }

LinkList.java

package my;public class LinkList
{private LinkNode head;private int NodeNum=0;private LinkNode q;public LinkList() {head=new LinkNode(0);  //头结点head.next=null;}public void insertNode(int position,LinkNode p) { //从下标0开始插入if(position<0||position>NodeNum) {System.out.println("插入失败,位置有问题");return;}q=head;for(int i=0;i<position;i++) {q=q.next;}p.next=q.next;q.next=p;NodeNum++;}public void deleteNode(int position) {if(position<0||position>NodeNum) {System.out.println("删除失败,位置有问题");return;}q=head;for(int i=0;i<position;i++)q=q.next;q.next=q.next.next;NodeNum--;}public void showList() {for(LinkNode p=head.next;p!=null;p=p.next)System.out.print(p.data+"->");System.out.print("null\n");}}

LinkNode.java

package my;public class LinkNode
{int data;LinkNode next;public LinkNode(int i) {data=i; }
}

运行结果如下:

Java基础入门笔记-链表与容器相关推荐

  1. Java基础入门笔记2

    Java基础入门笔记2 一. 为什么把程序出错叫做"BUG"? 1. 原因是臭虫或者虫子,现在用来指代电脑系统或者程序中隐藏的一些漏洞或者一些问题,所以现在程序出问题就叫" ...

  2. Java基础入门笔记-数组链表

    数组链表ArrayList ArrayList是JDK自带的基础工具类. java.util.ArrayList 也是一个容器(里面存放对象) 1.添加对象add: 2.删除对象remove: 3.遍 ...

  3. Java基础入门笔记-随机数

    Random类是JDK里自带的基本类. java.util.Random 使用Random可以生成随机数: Random rand=new Random(); int s=rand.nextInt(1 ...

  4. Java基础入门笔记-包装类

    包装类 在Java里面,每一个基本类型都对应一个包装类型 long Long int Integer short Short byte Byte double Double float Float b ...

  5. Java基础入门笔记-静态方法

    方法有两类: 1.该方法与类的关系不大.随便拷贝到别的类里面也仍然可以运行,没有语法错误: 2.该方法与类关系密切.如果拷贝到别的类里就失去意义,有语法错误: 一个严格的判断:该方法有没有访问this ...

  6. Java基础入门笔记-添加包

    包:package 当一个项目中的类越来越多时,需要对其进行分包管理. 例如与Amazon和Tencent共同开发一个项目,那么就可以简历三个package com.amazon con.tencen ...

  7. Java基础入门笔记-多态

    多态是设计上的一个术语.(polymorphism) 在Java里,多态是指以下语法现象: 重载OVerload:方法允许重名: 重写Override:允许子类重写父类方法: 泛型(模版):比如Arr ...

  8. Java基础入门笔记-单根继承

    查看类的继承链 右键然后 Quick Type Hierarchy 如下图所示: 我们发现: 在java中如果一个类没有指定父类,则他默认父类就Object.(这里感觉和Qt有相同的东西,但又不同) ...

  9. Java基础入门笔记-构造方法的继承

    代码如下所示: Child.java package my;public class Child extends Parent {public Child() {System.out.println( ...

最新文章

  1. 皮一皮:这不叫分手...叫裁员...
  2. 第二章:2.8 通过Django 在web页面上面输出 “Hello word ”
  3. Intel Realsense D435 关于开放环境下的目标识别 曝光量参数的自动设定机制
  4. hdu 1532(最大流)
  5. 【干货】分库分表最佳实践
  6. Syslog系统日志配置
  7. 面向对象也可以搞单片机!
  8. android的时间代码怎么写,Android 日期和时间的使用实例详解
  9. 5.深度学习练习:Deep Neural Network for Image Classification: Application
  10. a标签跳转后返回原页面 layui_layui页面操作,点击一个添加页面,跳转有确定,然后点击确定后将选择的几个数据返回前一个页面获取值,然后ajax请求后台...
  11. 2009年1月答疑帖
  12. UI设计实用干货素材|引导页模板
  13. Photoshop CC 2019多边形形的抠图
  14. v​n​c​服​务​​安​装​与配置
  15. CCNA学习指南笔记(1)网络的功能
  16. 【TBSchedule】TBSchedule应用实战手册
  17. 中科大计算机本科毕业论文范文,中科大本科生毕业论文格式.pdf
  18. dell加装固态硬盘_戴尔(dell)计算机nvme固态硬盘安装win10系统和分区教程
  19. 非银金融行业:平安好医生,互联网医疗先行者,打造医疗生态圈闭环-20210106.PDF
  20. 第14讲:Python使用加法和乘法运算符操作列表

热门文章

  1. 「经营分析报告」怎么做?这套模板让领导一看就懂
  2. 从平台架构到大屏可视化,一文读懂金融服务行业的数据分析
  3. 懵逼的字节跳动一面、二面凉经~
  4. 我前面的杨千雪看图软件
  5. dabeicun 2013源码下载
  6. 至今还记忆犹新的即时通讯
  7. 飞鸽传书官方网站方式hook一些常见的枚举文件
  8. 努力的钻研深层次的【飞鸽传书】技术
  9. DOM3 textInput事件-softbar
  10. 你是菜鸡是有原因的 谈谈提问的艺术