打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
学会编程, 而不是学会Java

很多初学者,尤其是半路出家的遇到了一个很普遍的情况: 那就是只学会了Java 的语法, 而没有学会编程

我拿一个例子来说一下, 下面是一个SimpleList 的类, 模仿java 的ArrayList, 已经定义好了接口,需要实现具体的业务:

/**

* 自定义的一个模仿ArrayList的类, 你需要实现其中的add, get, remove , 等方法

* @author 刘欣

*/

public class SimpleList<T>{

private Object[] elementData;

private int size=0;

public int size() {

return -1;

}

public SimpleList(){

}

public boolean isEmpty() {

return false;

}

public boolean add(T e) {

return false;

}

public boolean remove(Object o) {

return false;

}

public T get(int index) {

return null;

}

}

然后我拿这个类给几个人测试, 我发现很少人能够顺利的把这几个方法给实现了, 哪怕是非常粗糙的实现也没有。

感兴趣的同学也可以用你擅长的语言尝试一下。

这个题目不要求实现复杂的算法, 也不需要进行面向对象的设计,也不需要考虑多线程下的线程安全, 况且已经给了提示:

用一个Object数组来实现。

如果说有一点语法层面的难度, 那就是使用了一点泛型。

其实如果我把泛型去掉, 估计他们还是实现不了, 因为这个类的核心逻辑不是泛型。

这个SimpleList 要求的就是能对一个数组进行操作,核心就两点:

1. 能往数组添加数据, 记录size ,如果数组空间不够了, 需要增大空间

2. 能删除数组指定位置的数据,并且把之后的数据往前挪动。

难吗? 这其实是编程序的基本素养, 编程的本质,和用什么语言实现没有关系。

如果不是Java , 学的是C#, 或者Python, 我估计结果也差不多。

我想可能是不少人都缺乏最最基本的数据结构和算法的训练, 还没有养成面向计算机的逻辑思考的方式。

解决的办法其实也很简单:就是多实践,多编码, 我推荐多做数据机构和算法的习题, 这也是我个人的经验, 大学时把数据结构的习题都做一遍, 后来工作中只要不是设计算法, 基本上没要难住我的。

如果以后想选择码农作为职业, 这种编程能力是必不可少的, 所以在校的同学, 不妨从现在就开始, 把缺失的能力不上。

JAVA学习交流群 374320282 学JAVA有困难需要视频资料可以加 婷婷QQ 3185337157 一起学习交流,晚上有时间还可以参加永久免费分享的高清视频直播课程(免费分享哦)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
算法基础(一)
用JAVA实现堆栈(数组篇)
深入Java集合学习系列:ArrayList的实现原理 - 莫等闲 - JavaEye技术...
JAVA的文件操作【转】 - 学无止境 - 博客园
Java性能调优
Java基础知识总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服