`
253317239
  • 浏览: 6850 次
  • 性别: Icon_minigender_1
  • 来自: 鄂尔多斯
文章分类
社区版块
存档分类
最新评论

JAVA学习笔记(四)容器

阅读更多
1,简述容器
   Set : 元素必须唯一
   ArrayList 和 LinkedList 
    ArrayList因为是一个有序数组的List 所以访问比较快,但是插入和删除比较慢,LinkedList因为是一个链表形式的,可以从中间断开再接上,所以LinkedList插入和删除数据开销不大,但是随机访问比较慢。要了解比较透彻,可以查看《JAVA数据结构和算法》第二版,讲的比较好!
另外数据结构里其它方面,我贴一下我的笔记总结:

数据结构                          优点                               缺点
数组          插入快,如果知道下标,可以非常快地存取     查找慢,删除慢,大小固定
有序数组            比无序数组查找                      删除和插入慢,大小固定
栈                       提供后进先出的存                   存取其它项很慢
队列                    提供先进先出的存取方               存取其它项很慢
链表                    插入快,删除                               查找慢
二叉树                查,插,删都快(如果树保持平衡)           删除算法复杂
红-黑树              查插删都快。树总是平衡                        算法复杂
2-3-4树              查插删都快,树总是平衡的,类似的树对磁盘存储有用 算法复杂
哈希表         如果知道关键字,则存取极快,插入快。              删除慢堆                       插入删除快,对最大数据项的存取很快    对其它数据项存取慢
图                      对现实世界建                          有些算法慢且复杂



下面是关于在SWT的B/S结构项目的List和Map的具体应用,心得体会:

List listStatType = QueryHandle.findByProperty(Codedict.class,
CodedictDomain.codeType, "ECM_LONG_TERM_STATE");
final Map<String, String> mapStatType = new HashMap<String, String>();
for (int i = 0; i < listStatType.size(); i++) {
Codedict codedict = (Codedict) listStatType.get(i);
if (UserInfo.getInstance().getDefaultLang().equals(Locale.CHINA)
|| UserInfo.getInstance().getDefaultLang().equals(
Locale.CHINESE)) {
mapStatType.put(codedict.getCodeValue(), codedict
.getDisplayValueCn());
} else {
mapStatType.put(codedict.getCodeValue(), codedict
.getDisplayValue());
}
}

上面的代码中:先是用List列出词汇表中的相关数据,通过存储过程访问,然后在词汇表中,数据是以(Key,Value)方式对应的,所以用Map访问,一个Key对应一个Value。Key是对应数据库中的字段,Value是词汇表中相应字段对应的中文字母,这样通过Map我们就能达到国际化的效果。注意,Map中的key,Value可以灵活变的,我这里因为一个是数据库字段,一个是国际化的,所以用Map(String,String)..很多地方是列表,所以Key 可以是String,int,Object;而Value也可以是String,int Object等等形式,比如可以定义Map(int,Object),Map(int,String)等。要看具体需求!

总结:对于容器的使用,除了看一些基本知识外,还要从数据结构出发,了解具体数据是怎么在容器中存储的,然后在具体项目或例子中应用的时候,自己慢慢体会,去思考数据是如何存储的,数据的走向!等一一模清楚之后,才能够达到运用的效果!不然永远是云里雾里!

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics