当前位置: 首页 > news >正文

简单聊一下EL表达式与单列集合

1.EL表达式

这里列举一些简单的例子,这个表达式不难理解,过一遍即可

<%//请求域request.setAttribute("name", "请求域");//会话域session.setAttribute("name", "会话域");//上下文域application.setAttribute("name", "上下文域");
%>${requestScope.name}&nbsp;&nbsp;
${sessionScope.name}&nbsp;&nbsp;
${applicationScope.name}<hr/>
<p>算术表达式</p><br>
1+1=${1+1}&nbsp;&nbsp;10>9是${10>9}&nbsp;&nbsp;
<p>三元表达式:</p><br>
如果我超过18岁,说明我是个${22>18?"成年人":"小孩"}

2.List

1.list的特点

a.数据是有序的

b.每个数据都有索引

c.list的数据允许重复(set的数据不允许重复)

2.list的基本api

  public static void main(String[] args) {List food=new ArrayList();food.add("玉米");food.add("火腿");food.add("米饭");System.out.println("列表的所有数据是:"+food);System.out.println("列表的是第三个数据:"+food.get(2));System.out.println("替换米饭为粥:"+food.set(2,"粥"));System.out.println("移除粥:"+food.remove(2));System.out.println("列表的所有数据是:"+food);System.out.println("开始截取数据0-2:"+food.subList(0,2));}

3.ListIterator

这是一个迭代器,有点不同的是,这个迭代器是可以往前、往后双向迭代的

 public static void main(String[] args) {List food=new ArrayList();food.add("玉米");food.add("火腿");food.add("米饭");System.out.println(food);ListIterator<String> iterator=food.listIterator();System.out.println("迭代操作");while (iterator.hasNext()){String f=iterator.next();if("火腿".equals(f)){System.out.println("这次的数据是火腿:"+f);iterator.add("鸡腿");System.out.println("火腿后面加鸡腿");}if("米饭".equals(f)){iterator.remove();}}System.out.println(food);System.out.println("反向迭代");while (iterator.hasPrevious()){String f=iterator.previous();System.out.println(f);}}

 

4.ArrayList

ArrayList底层是数组,所以查询快,增删慢,而且一般中数据都是读多写少,所以ArrayList非常常用。

默认的数组大小容量是10,超出容量时一般按照1.5倍进行扩容。

5.LinkedList(双向链表)

LinkedList即是List派系下的实现类,也是Queue集合派系下的实现类,底层采用链表实现,查询慢,增删快。

   public static void main(String[] args) {LinkedList<String> list= new LinkedList<String>();list.add("揭阳");list.add("广州");list.add("佛山");System.out.println(list);System.out.println("第二个元素是:"+list.get(1));list.set(2,"长沙");System.out.println("第三个元素换为长沙:"+list.get(2));list.remove(2);System.out.println(list);}
[揭阳, 广州, 佛山]
第二个元素是:广州
第三个元素换为长沙:长沙
[揭阳, 广州]

 

   public static void main(String[] args) {LinkedList<String> list= new LinkedList<String>();list.addFirst("揭阳");list.addFirst("广州");list.addFirst("佛山");System.out.println("第一个元素是:"+list.getFirst());System.out.println("最后一个元素是:"+list.getLast());System.out.println(list);System.out.println("删除第一个元素:"+list.removeFirst());System.out.println("删除最后一个元素:"+list.removeLast());System.out.println(list);}
第一个元素是:佛山
最后一个元素是:揭阳
[佛山, 广州, 揭阳]
删除第一个元素:佛山
删除最后一个元素:揭阳
[广州]

6.Vector集合

a.vector底层是list,所以查询快增删慢。

b.初始化容量也是10,,扩容是实现之前的2倍。

c.线程安全,ArrayList线程不安全。

 public static void main(String[] args) {Vector<String> vector=new Vector();vector.add("num1");vector.add("num2");vector.addElement("num3");vector.addElement("num4");ListIterator<String> iterator=vector.listIterator();while (iterator.hasNext()){String element=iterator.next();System.out.println(element);}}
num1
num2
num3
num4

7.Stack集合

Stack是栈结构的集合,因此具有数据结构中栈的一般特性(后进先出)

   public static void main(String[] args) {Stack<String> stack=new Stack<>();stack.add("num1");stack.add("num2");stack.add("num3");System.out.println("stack的第二个元素"+stack.get(1));System.out.println("压栈操作:"+stack.push("num4"));for (String s : stack) {System.out.println(s);}System.out.println("出栈操作:"+stack.pop());System.out.println(stack);}
stack的第二个元素num2
压栈操作:num4
num1
num2
num3
num4
出栈操作:num4
[num1, num2, num3]

 

http://www.xdnf.cn/news/825265.html

相关文章:

  • 虚函数详解
  • 什么是ETL?什么是ELT?怎么区分它们使用场景
  • 软件测试面试题合集
  • 学术期刊数据库---EBSCO
  • 两万字总结Linux常用指令 (非常详细)从零基础入门到精通,看完这一篇就够了
  • jQuery插件大全
  • qsort函数的使用方法,以及模拟实现
  • 个人博客系统的测试报告
  • Dom4j解析XML
  • 机器学习洞察 | JAX,机器学习领域的“新面孔”
  • HTML <select> 标签
  • MySQL中redo与undo的区别
  • 【Linux-常用命令-基础命令-解压rar文件-unrar-x-命令-笔记】
  • Android开发基础(一)
  • 最全Linux操作系统的下载与安装(保姆级教程),Linux运维-Binder机制及AIDL使用
  • spring数据校验:Validation
  • MVC框架介绍
  • #笔记 欧拉函数
  • VirtualBox虚拟机下载安装(win10环境)
  • vue3 集成kindeditor研究
  • FlowChartl流程图
  • ipscan怎么用?ipscan使用方法
  • 什么是CMS?
  • cmd的基本命令
  • 80端口知识
  • xiao
  • java面向对象的三大特征 - 继承 (extends)
  • PHP json_decode()函数详解(1),网络安全-Binder机制及AIDL使用
  • 批处理的copy与xcopy
  • linux 编译 expat,关于expat库的编译