`
253317239
  • 浏览: 7011 次
  • 性别: 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
分享到:
评论

相关推荐

    Java学习笔记,容器(集合)

    Java 容器(集合)学习笔记 Java 中的容器(集合)是一种组织和管理数据的方式,通过“容器”可以容纳和管理数据。数组是最基本的容器,可以存储多个对象,但它有很多缺点,如长度必须在初始化时指定,数组采用连续...

    java学习笔记模版

    【Java学习笔记模版】 Java实习工程师在学习过程中,会涉及到许多关键知识点,尤其是在企业级开发的场景下。从给出的四天学习笔记来看,实习生正在逐步掌握Java Web开发的基础和核心技能。以下是对这些知识点的详细...

    达内core_java学习笔记

    Java是世界上最流行的编程语言之一,...以上就是“达内Core Java学习笔记”中涉及的主要知识点。通过深入学习和实践,初学者可以逐步建立起坚实的Java编程基础,并为进一步学习Java的高级特性和框架打下坚实的基础。

    良葛格Java学习笔记(完整版)

    《良葛格Java学习笔记(完整版)》是一份全面且深入的Java编程教程,适合不同层次的Java学习者,无论你是初学者还是有经验的开发者,都能从中受益。这份笔记详细介绍了Java语言的核心概念、语法特性以及实际开发中的...

    JAVA学习笔记————————

    在深入探讨JAVA学习笔记之前,我们首先理解一下JAVA这一编程语言的重要性。JAVA,由Sun Microsystems公司(现已被Oracle收购)于1995年推出,是一种面向对象的、跨平台的编程语言,以其“一次编写,到处运行”的特性...

    java学习笔记源代码

    Java学习笔记源代码是针对清华大学出版的《Java学习笔记》一书,配套的 JDK1.5 版本的源码。这些源代码旨在帮助读者深入理解Java编程语言,通过实践来加强理论学习,提高编程技能。Java作为一种广泛使用的高级编程...

    java学习笔记.pdf

    ### Java学习笔记知识点总结 #### 第一章:Java语言入门 - **1.1 Java的诞生** Java由Sun Microsystems公司于1995年推出的一种可移植、面向对象的编程语言。最初的设计目标是为消费电子产品提供一种通用编程语言...

    良葛格Java学习笔记

    【良葛格Java学习笔记】 本笔记主要涵盖了Java编程语言的核心概念和技术,旨在帮助初学者以及有一定基础的开发者深入理解并掌握Java。Java作为一种广泛应用于企业级应用开发、移动开发(尤其是Android)以及大数据...

    JAVA学习笔记和例子程序值得看看

    这份"JAVA学习笔记和例子程序值得看看"的压缩包显然包含了作者在深入学习Java过程中的重要发现和理解,以及帮助深化概念理解的示例程序。让我们来详细探讨一下可能包含的知识点。 1. **基础语法**:Java的基础包括...

    Java容器学习笔记:容器概览,容器中的设计模式,容器源码分析 - List,容器源码分析 - Map,容器源码分析 - 并发容

    Java容器学习笔记: 容器概览, 容器中的设计模式, 容器源码分析 - List, 容器源码分析 - Map, 容器源码分析 - 并发容 Java是一种面向对象的编程语言,由Sun Microsystems于1995年推出。它是一种跨平台的语言,...

    Java JDK 6学习笔记——ppt简体版

    Java JDK 6学习笔记是为Java初学者量身定制的一份宝贵资料,它涵盖了Java编程的基础概念、语法以及核心特性。这份PPT简体版旨在帮助读者快速掌握Java开发的基本技能,逐步成为一名合格的Java程序员。 Java JDK...

    JAVA学习笔记最新ppt版1

    JAVA学习笔记最新ppt版1 JAVA 是一种面向对象的程序语言,具有更高的跨平台可能性。它是 Sun 公司 GreenProject 中撰写 Star7 应用程序的一个程序语言,由 James Gosling 创造。Java 的特性包括简单、面向对象、...

    JAVA学习笔记.pdf

    JAVA学习笔记.pdf JAVA学习笔记.pdf 中讲解了JAVA语言的基础知识,包括类的基本知识、成员变量、成员方法、类的实例、内部类、匿名类、接口、包等。 类的基本知识 在JAVA中,类是对象的蓝图,类的声明语法为:...

    良葛格Java学习笔记html.rar

    【标题】"良葛格Java学习笔记html.rar"是一份以HTML格式编写的Java学习资料,由知名在线教育人物“良葛格”所创建。这份压缩包文件包含了他对Java编程语言深入浅出的讲解,旨在帮助学习者提高Java编程技能。 【描述...

    Java 学习笔记

    "Java 学习笔记" Java 是一种面向对象的程序语言,具有跨平台的可能性。Java 的特性包括简单、面向对象、网络、解译、坚固、安全、可携和高效能。Java 平台包括 Java SE、Java EE 和 Java ME, Java SE 是 Java ...

    java学习笔记比较全面

    本篇笔记旨在为初学者提供一个全面的Java学习指南,涵盖了语言的基础概念和技术。 1. **面向对象编程三大原则** - **封装**:封装是将数据和操作这些数据的方法绑定在一起,形成一个独立的单元,对外部世界隐藏...

    java学习笔记总结

    这份“java学习笔记总结”涵盖了作者在深入学习Java过程中积累的知识点和实践经验,旨在帮助读者理解和掌握Java的核心概念。 首先,Java的基础部分包括语法、变量、数据类型、运算符和流程控制。Java支持八种基本...

    Java基础尚硅谷宋红康学习笔记

    10. **Java并发编程**:包括线程池、锁机制(如synchronized、ReentrantLock)、并发容器(如ConcurrentHashMap、CopyOnWriteArrayList)以及并发工具类(如CountDownLatch、CyclicBarrier)。 这些是Java基础知识...

    Java开发学习笔记

    Java开发学习笔记主要针对的是初学者,旨在帮助他们掌握Java编程的基础知识。下面将详细讲解Java开发中的核心概念和步骤。 一、Java环境变量设置 在开始Java编程之前,我们需要安装Java Development Kit (JDK)并...

Global site tag (gtag.js) - Google Analytics