JSTL Java标准模板库

原创 2015年07月07日 17:47:48

STL

今天在看STL,它主要分成序列式容器和关联式容器。

  • 序列式容器:主要有 vector, list, deque, stack, queue, heap
  • 关联式容器:每个元素都有一个key-value对,容器内部按照键值的大小,以某个规则将这个元素放到适当的位置。
    • RB-tree:Set, Map, MultiSet, MultiMap : 可自动排序
    • HashTable: HashSet, HashMap, MultiHashSet, MultiHashMap

他们的特点就是:

  1. Map与Set:Map是有实值(Value)和键值(Key)的,而Set只有实值。
  2. Hash…:单纯的Set和Map是由RBTree实现的,因此所有的元素都会根据键值进行排序;而Hash…系列则由于底层是HashTable实现的,因此是乱序的。
  3. Multi-:不带Multi前缀的是不允许键值重复的,可以说自带去重功能;而带这个前缀的则允许键值重复。

JSTL

上面都是说的C++,我们再来看一下Java对应的JSTL。

JSTL是对C++ STL的一个衍生,这些功能封装在Java.util包内,主要包括

  • Collection
    • List
      • LinkedList
      • ArrayList
      • Vector
        • Stack
    • Set
  • Map
    • HashTable
    • HashMap
    • WeakHashMap

总结

名称 有序? 相同的元素? 同步OR异步 Null? 扩展方法
ArrayList(List) Y Y Un Y 动态增加
LinkedList(List) Y Y Un Y
Vector Y Y Syn Y 每个分配周期增大1倍
Set Y N Syn Y(最多1个)
TreeSet 按照Key升序
HashTable(Map) N N Syn N
HashMap(Map) N N Un Y
TreeMap 按照key升序排列

一些比较

  1. 同步异步
    同步的会线程安全,但会花费机器时间,因此执行效率会低。
    如果程序在单线程环境中,考虑非同步的类,效率高。
    如果多个线程可能同时操作一个类,用同步的类,线程安全。
  2. ArrayList和LinkedList
    如果涉及到堆栈、队列等操作,最好用List。
    如果需要在一列数据的中间快速插入、删除元素,用LinkedList。
    如果需要快速随机访问元素或者在一列数据的后面添加数据,用ArrayList。
  3. HashTable与HashMap
    HashTable通过put和get操作数据时,时间开销是常数。区别在于HashMap是同步的。
版权声明:本文为博主原创文章,未经博主允许不得转载。

Java 模板引擎总结

Java模板引擎 FreeMarker 概念 介绍 特性 优势 不足 一个小Demo 概念 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。它是...
  • bcbobo21cn
  • bcbobo21cn
  • 2016年03月30日 18:54
  • 18024

JSTL标签急速秒杀jsp页面中的java代码(一)---Core标签库

JSTL标签简介 ===================================================================== JSTL的全称是JavaServer Pa...
  • a1314517love
  • a1314517love
  • 2013年08月09日 21:28
  • 4269

jsp常用模板

  • 2015年09月23日 09:09
  • 1.06MB
  • 下载

JSTL+BeanUtils+分页+文件上传,sitemesh用来进行前端模板

1、  输出     request.setAttribute("username","张三"); %> body>   ${username }会先在pageContext中找usern...
  • uestc_lxp
  • uestc_lxp
  • 2015年05月02日 13:59
  • 676

Java jsp页面中jstl标签详解

JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的。把常用的内容,放在这里备份一份,随用随查。尽量做到不用查,就可以随手就可以写出来。这算是Java程序员的基本功吧,一定要扎实。   ...
  • u013074999
  • u013074999
  • 2016年10月13日 22:08
  • 1392

JSTL(c标签)与Struts2(s标签)标签

引入jstl标签库 项目导入standard.jar ,jstl.jar包 在jsp页面加入如下句: http://java.sun.com/jsp/jstl/core"%> 可使用EL表达式 ...
  • Running_Ants
  • Running_Ants
  • 2016年10月14日 09:55
  • 2117

jsp登陆界面模板

  • 2014年05月20日 11:32
  • 3KB
  • 下载

TrimPath模板

  • 2012年04月18日 16:24
  • 21KB
  • 下载

jstl标签库fn函数使用

1、jstl标签库fn函数介绍:jstl标签库fn函数就是在jsp页面或js代码里面使用的函数,它是建立在EL表达式基础上的表达式函数,格式为 ${ns:methodName(args....)},一...
  • javaloveiphone
  • javaloveiphone
  • 2015年12月08日 11:14
  • 5294

java拷贝模板创建java类

需求分析: 在业务开发过程当中,是否经常会遇到都是类似的代码,需要各种重复创建java类来满足业务需求。 现提供如下方法,进行批量创建类似的java类,按照需求进行内部内容逐个修改即可。 实现代...
  • wenxuechaozhe
  • wenxuechaozhe
  • 2017年04月05日 20:04
  • 515
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSTL Java标准模板库
举报原因:
原因补充:

(最多只允许输入30个字)