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正则表达式补充
import re origin= "hello alex bcd alex 1ge alex acd 19" r=re.match("(?P<n1>h)(? ...
- python format(格式化)
自 python 2.6 开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱.#语法它通过{ ...
- Python 字典删除元素clear、pop、popitem
同其它python内建数据类型一样,字典dict也是有一些实用的操作方法.这里我们要说的是字典删除方法:clear().pop()和popitem(),这三种方法的作用不同,操作方法及返回值都不相同. ...
- Unity 关于AssetBundle读取场景
一. 1.关于如何打包成ab包,就不多说了,网上很多教程,siki学院也有siki老师的免费视频教程挺详细的,可以看看 http://www.sikiedu.com/my/course/74 2.为了 ...
- jmeter如何进行MQTT性能测试(测试前期准备二,MQTT插件及协议了解)
jmeter插件下载地址及使用,已经有大佬总结好了 大佬的博客地址: https://blog.csdn.net/yellowanwu/article/details/50889677 添加线程组:添 ...
- 本地pip 源搭建起来
pip install pip2pi pip2tgz target_dir -r requirement.txt 下载想要的本地的py包 /usr/local/python3/bin/dir2pi ...
- APP在线课程设计
VR在线课程是我们的主打产品,分为“人工智能鱼”.“海洋史”.“濒危海洋动物保护”.“生物进化”.“海洋知识科普”和“海洋法律”等六大主题,其中“人工智能鱼”为主打特色课程,每个主题也设置了不同难度系 ...
- windows处理PHP定时任务
我用的是bat文件处理定时任务,bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用 创建一个bat文件,编辑文本,添加需要的php文件,前面路径是你的PHP执行程序,后面路径是文件 ...
- Springboot 的错误处理功能的实现
一.页面的形式返回 直接在resources的目录下创建public/error的路径,然后创建5xx.html或者4xx.html文件,如果出错就会自动跳转的相应的页面. 二.cotroller的形 ...
- MVC简单增删改
/// <summary> /// /显示分页 /// </summary> /// <param name="model"></para ...