日期:2014-05-20  浏览次数:20736 次

终于有10分了,问个简单的问题
Arraylist   Linkedlist   和Hashmap这三个类到底有啥区别啊
我看着除了有些方法不一样外   好像本质上都是动态数组啊。
能不能说下他们的区别。以及各自的优点?  
谢谢谢谢谢谢谢谢谢谢谢谢谢谢!!!!!!!!

------解决方案--------------------
arraylist和linklist 都是动态数组 只不过他们的底层实现不一样 arraylist是基于数组的 而linklist是基于双向链表的 如果你要执行查询操作 应该用arraylist 效率比较高 如果想要删除元素可以用linklist 这样效率比较高
这两个集合类都实现了list接口 而list接口扩展了 collection接口 这个接口是java集合类框架的基础 大部分基础方法都在里面进行了定义
hashmap这个类 实现了map接口 它储存的是 键值对 在存储值后 你可以通过对应的键 来访问它的值
------解决方案--------------------
用例子说明关于线程问题你可以到网上查查资料很多
例子:
A 和 B 在不同窗口同时买到北京的同一车次的火车票(就是两人买一样的东西)
售票员发现还有一钞票 :
问题处理了 ; 如果线程不同步 ,那么这张票 可能买个A B两个人 两个人同一张票
线程同步就不会出现这种问题 。

总之:同步 我最新访问某条数据 你要还想访问此数据那么就点等我访问完 也就是资源独占
不同步 就是 我们可以同时访问相同数据
我表达能力太差了 请见谅 希望版主能看懂