12集合(1)-----List
一.总体分类
- Collection(包括方法add,remove,contains,clear,size)
- List(接口)
LinkedList
ArrayList
Vector---Stack
2. Set
HashSet
TreeSet
- Map
- Hashtable---properties
- HashMap
- TreeMap
二.集合------List(有序,可重复)
1.ArrayList
这里有个包装类的概念:每一个基本类型都有一个对应的数据类型的包装类
特点就是包装类和String类一样,有一块缓冲区, -128~127的常量池,用着更灵活自由。
在此特殊记忆:char-----Character,int--------Integer其余基本类型包装类都同它本身的名字
*装箱:基本类型转化为包装类
*拆箱:包装类转化为基本类型
装箱和拆箱的内部实现机制:自动调用valueOf()方法
public static Integer valueOf(int i){
if(i>=IntegerCache.low&&i<=IntegerCache.high){
return IntegerCache.cache[i+(-IntegerCache.low)];
}
return new Integer(i);
}
缓冲区对于double和float类型是没有用的,因为0-1之间的数有无数个啊,无法都放在常量池。
ArrayList al=new ArrayList();
al.add("ffsjkafsd");
al.remove(15);//错误
al.remove(new Integer(15));//新建,对比对象,相等删除,包装类
al.get(3);
al.toArray();
al.isEmpty();
al.set(1,"fsa");
al.indexOf("sss");//如果没有返回-1;
al.contains(null);// 返回布尔
遍历方式有三种,普通方法在此不赘余。
for(Object o:al){
syso(o);
}
Interator i=al.interator();
while(i.hasNext){
syso(i.next());
}
2.LinkedList
底层是双向链表,而ArrayList的底层是数组。
链表:增删快,查找修改慢
数组:便于查询修改,不便增删
LinkedList相对于数组增加了头和尾巴的操作。
LinkedList l=new LinkedList()
l.addFirst()
l.addLast()
l.getFirst()
l.getLast()
3.Vector
和ArrayList相同,底层也是数组,不过V是线程安全的。
Vector v=new Vector();
栈,线程安全
Stack s=new Stack();
s.push("sss");//入栈
Object o=s.pop();//删除栈顶并返回obj
syso(o);
s.peek();//查看栈顶
s.size();
s.elementAt();//遍历方法1
s.empty;
s.search(null);//1 2 3
12集合(1)-----List的更多相关文章
- Java学习日记-12 集合(2)
一.List<E>接口(超级接口Collection,List比Collection多重载了一些索引作为形参的方法)1.实现类ArrayList\LinkedListArrayList顺序 ...
- 12集合(3)-----Map
一.总体分类 Collection(包括方法add,remove,contains,clear,size) List(接口) LinkedList ArrayList Vector---Stack 2 ...
- 12集合(2)-----Set
一.总体分类 Collection(包括方法add,remove,contains,clear,size) List(接口) LinkedList ArrayList Vector---Stack 2 ...
- note 12 集合Set
集合Set +无序不重复元素(键)集 +和字典类似,但是无"值" 创建 x = set() x = {key1,key2,...} 添加和删除 x.add('body') x.re ...
- plsql programming 12 集合(忽略, 个人感觉用不到)
关联数组, 嵌套表, varray 个人并不推荐使用集合, 因为操作有别于普通字段. 集合中每一个元素的数据类型都是相同的, 因此这些元素都是同质的(同质元素) 这一章的内容先忽略吧, 因为个人感觉用 ...
- C#面向对象12 集合
ArrayList和HashTable集合 1.ArrayList集合 ***添加元素 using System; using System.Collections.Generic; using Sy ...
- Java中对List集合的常用操作
目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...
- Java如何对List集合的操作方法(二)
4.list中查看(判断)元素的索引: 注意:.indexOf(): 和 lastIndexOf()的不同: ///*************************************** ...
- Java中对List集合的常用操作(转载)
目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...
随机推荐
- python基础之作业1---用户登录
作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 import sys, os, getpass os.system('clear')i = 0while i < 3: ...
- linux 查看并对外开放端口(防火墙拦截处理)
[转]https://blog.csdn.net/qq564425/article/details/80760528 Web应用在Tomcat部署后无法访问,可能是防火墙端口限制导致 查看端口是否可访 ...
- log4j的简介和使用
一.log4j是什么 引用官网的介绍 Log4j is a fast and flexible framework for logging application debugging messages ...
- DevExpress v18.2新版亮点——Reporting篇(一)
行业领先的.NET界面控件——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExpress Reporting v18.2 的新功能,新版3 ...
- MySQL data sync to Oracle with OGG(Remote Delivery)
MySQL to Oracle with OGG 1. Install MySQL: yum install mysql-community-server [root@localhost ~]# y ...
- 总结java IDE (eclipse)快捷键
Eclipse快捷键 10个最有用的快捷键:Eclipse中10个最有用的快捷键组合:一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合.通过这些组合可以更加容易的浏览源代码 ...
- 问题1:Oracle数据库监听启动失败(重启监听,提示The listener supports no services)
编辑监听文件:/home/DB/oracle/11gR2/db/network/admin/listener.ora 在文件内添加静态监听实例,如下内容: SID_LIST_LISTENER =(SI ...
- mysql无法安装,报 The older version of MySQL Installer - Community cannot be removed. Contact your technical support group
解决办法: C:\Users\Administrator>msiexec /i C:\Users\Administrator\Downloads\mysql-installer-web-comm ...
- Linux:Fedora系统的安装
新的一周,新的一天又来了!话不多说我们直接进入今天的系统安装吧!这次是Linux系统的第八期了,这款系统是可以当做家庭用途使用,非常强大的一款开发源操作系统. 安装Fedora系统 系统映像文件下载 ...
- ecside中<c:table>使用
<ec:table action="sjzc/tbWaterproject!list.do" items="objList" var="tbWa ...