相对于C++来说,Java的最大特点之一就是没有令人困惑的指针,但是我们不可否认,在某些特定的情境下,指针确实算的上一把利刃。虽然Java中没有明确定义出指针,但是由于类的思想,我们可以使用class来实现指针的操作。小二,上栗子-----合并两个已经排序的列表,输出合并后列表的头结点,且合并后的列表中的元素是有序的。

需要时刻铭记于心的:在Java中,列表的一个节点其实就是某个类实例化的一个对象。

示例代码如下:

 package DecemberOf2013;

 class ListNode{
int val;
ListNode next;
public ListNode(int val) {
this.val = val;
this.next = null;
}
} public class MergeTowSortedLists { public ListNode mergeLists(ListNode l1, ListNode l2){ ListNode p1 = l1;
ListNode p2 = l2; ListNode fadeHead = new ListNode(0);
ListNode pHead = fadeHead; while(p1 != null && p2 != null){
if(p1.val <= p2.val){
pHead.next = p1;
p1 = p1.next;
}
else{
pHead.next = p2;
p2 = p2.next;
}
pHead = pHead.next;
} if(p1 != null){
pHead.next = p1;
}
else{
pHead.next = p2;
} return fadeHead.next;
}
}

由于Java中的内存回收机制,是否可以保证不会出现C++或者C语言中的野指针或者内存泄露问题呢?等待大牛的详解。

最新文章

  1. Android笔记——关于Cursor类的介绍
  2. Euler Level 2
  3. 让复杂Json数据和对象自由转换 --- Gson
  4. iOS UIDatePicker frame改变问题
  5. canvas API ,通俗的canvas基础知识(三)
  6. Mac快捷键 Xcode快捷键
  7. /cdrom /media /mnt
  8. 常用的mysql操作命令
  9. centos6.5安装mongodb
  10. DTCMS展示一级栏目并展示各自栏目下的二级栏目
  11. Bootstrap 分页功能
  12. c++ timer基于win消息队列
  13. onblur判断数字
  14. 递归——CPS(三)
  15. U盘制作centos7系统并安装
  16. 关于Cesium中的常用坐标系及说明
  17. [LVM]创建LVM卷
  18. vue项目eslint环境配置与vscode配置eslint
  19. SQL----&gt;mySQl数据库1------表的增删改查
  20. 2019.04.19 读书笔记 比较File.OpenRead()和File.ReadAllBytes()的差异

热门文章

  1. page74-泛型可迭代的基础集合数据类型的API-Bag+Queue+Stack
  2. Android布局技巧
  3. web前端开发控件学习笔记之jqgrid+ztree+echarts
  4. css中常用的几种居中方法
  5. Part 1 some difference from asp.net to asp.net mvc4
  6. 北大ACM(POJ1014-Dividing)
  7. 友盟分享--集成QQ和微信
  8. HTTP状态码参考
  9. hdu 1102 Constructing Roads Kruscal
  10. 济南学习 Day 5 T1 pm