java 实现空数组,数组与链表的区别,数组、链表java实现

本文介绍了如何在Java中实现空数组,并探讨了数组与链表的主要区别。数组由于内存地址连续,查询速度快但删增操作慢;而链表在内存中地址不连续,适合频繁的增删操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.实现空数组

//定义一个空数组,
	int[] a=null; 
	int[] a={}; 
	int[] a=new int[0]; 
	注意:空数组没有空间,不能赋值!只能把另一个数组的地址给他,这里指的是指针。如a[0]=4;是不成立的,空数组没有空间存放。int[] list={2,4}; a=list;这种情况数组a就能输出了。
	
	
	int[] b=new int[10]; //定义一个长度为10的数组b
	
	int[] c={7,1,2,3,8};  //定义一个数组c,并赋值,其中a[0]=7,a[4]=8;
	
	//以数组b为例,长度为10,分别是从b[0]-b[9];

2.数组与链表的区别
数组在内存中的地址是连续相邻的,而链表在内存的地址是散列的,不连续的。
数组查询快,删增慢
3.链表的实现

 public class LinkList {
 public Node head;
 public Node current;
 
 //方法:向链表中添加数据
 public void add(int data) {
  //判断链表为空的时候
  if (head == null) {//如果头结点为空,说明这个链表还没有创建,那就把新的结点赋给头结点
  head = new Node(data);
  current = head;
  } else {
  //创建新的结点,放在当前节点的后面(把新的结点合链表进行关联)
  current.next = new Node(data);
  //把链表的当前索引向后移动一位
  current = current.next; //此步操作完成之后,current结点指向新添加的那个结点
  }
 }
 
 //方法:遍历链表(打印输出链表。方法的参数表示从节点node开始进行遍历
 public void print(Node node) {
  if (node == null) {
  return;
  }
 
 current = node;
  while (current != null) {
  System.out.println(current.data);
  current = current.next;
  }
 } 
 
 class Node {
 //注:此处的两个成员变量权限不能为private,因为private的权限是仅对本类访问。
  int data; //数据域
  Node next;//指针域
 
  public Node(int data) {
  this.data = data;
 }
 }
 
 
 public static void main(String[] args) {
 LinkList list = new LinkList();
 //向LinkList中添加数据
  for (int i = 0; i < 10; i++) {
  list.add(i);
  }
 
  list.print(list.head);// 从head节点开始遍历输出
 }
 
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值