java基础
一笑1874
这个作者很懒,什么都没留下…
展开
-
从java迭代器看foreach
刚开始学习增强for循环时,感觉很方便,无论是数组还是集合类都可以实现遍历,前提是你不需要用到数组下标。但也很疑惑他是如何做到的呢?原来foreach底层的实现就是java迭代器Iterator. 想要使用迭代器遍历,首先要实现Iterable接口,iterable接口定义了iterator()方法.iterator()方法会返回实现Iterator接口的类.//Iterable接口原创 2017-10-18 10:32:41 · 495 阅读 · 0 评论 -
使用java实现dos窗口文件操作命令(复制,删除,列出文件目录)
使用java模仿dos窗口命令,实现文件的拷贝,删除,列出所有文件.下面看一下效果: 我们需要三个类,每个类实现不同的功能,首先是复制文件类,就是我们上一篇文章的代码,只是现在接受命令行参数.实际上javaIO操作文件夹的难点就在于,java提供的操作都是针对空文件夹或者文件.比如删除,复制.所以当我们想复制文件夹或者删除文件夹就需要使用递归操作.public原创 2017-10-19 11:30:58 · 2449 阅读 · 0 评论 -
java实现dos窗口文件操作命令2(远程操作)
上一篇操作文件夹都是基于本地操作,能不能使用别的计算机操作自己电脑的文件夹?这就需要使用java的网络编程.还是先看效果图:首先是通过客户端传入参数,服务端接收后进行文件夹的操作: 列出所有文件: 下面是代码实现:这是服务端代码import java.net.*;import java.io.*;public class原创 2017-10-19 11:41:50 · 863 阅读 · 0 评论 -
简单ArrayList、LinkedList、HashSet、HashMap实现(一)
简单ArrayList、LinkedList、HashSet、HashMap实现(一)面试或笔试中经常遇到像ArrayList和LinkedList以及HashSet和HashMap有什么区别,或者问你HashMap如何实现的。下面我们就自己实现简单的集合类,完成我们平时经常使用的效果,比如添加、移除、返回长度、自动扩容。原创 2017-10-10 10:59:11 · 1255 阅读 · 0 评论 -
简单集合实现二(LinkedList的实现以及与ArrayList的比较)
上一篇文章我们讲到了ArrayList的实现,如果你有兴趣看源码的话会发现我们的实现有一部分就是照着源码拷贝的。从实现上我们知道了ArrayList的底层实现是数组,比数组方便的是可以自动扩容,可以存放任意类型。既然实现是数组那么数组有的优点他也有,比如访问数据快捷方便,直接访问下标值,访问第一个和第500个数据访问速度差不多。直接定位下标0或者下标499取值。同时它也有一些缺点,比如修改、删除数据比较麻烦,需要循环遍历所有数据,超出数组下标还要新建数组重新拷贝原数组。我们知道LInkedList的实现原原创 2017-10-10 18:06:51 · 295 阅读 · 0 评论 -
简单集合实现三(HashMap和HashSet)
上两篇文章我们实现了自己的ArrayList和LinkedList,也清楚了ArrayList查找方便,修改困难。LinkedList修改方便,查找困难。我们也经常遇到问HashMap和HashSet的异同,其实HashSet的实现就是使用了HashMap只不过它只用到了HashMap中的key值。所以学会了HashMap也就明白了HashSet。 首先我们知道HashMap中是存放键值对的原创 2017-10-11 16:33:42 · 411 阅读 · 0 评论 -
从Java内存分配来看equals和==比较
刚开始学Java的时候,遇到equals比较和==比较有时候结果总是让人惊讶,如果是以前没有接触过编程,不明白内存分配,每次都是稀里糊涂的记住一些结果。这种是true那种是false,但具体是为什么,具体自己应该怎么去分析才能分析出程序应该有的结果,今天我们就从Java内存分配的角度来聊聊。 先上代码: String str1 = new String("abc");原创 2017-10-11 21:14:33 · 829 阅读 · 0 评论 -
java IO实现文件拷贝以及文件夹拷贝
使用javaIO流实现文件拷贝以及文件夹拷贝原创 2017-10-16 10:36:32 · 1361 阅读 · 1 评论