java基础之参数和容器
来源:互联网 发布:蝙蝠侠 超人 知乎 编辑:程序博客网 时间:2024/06/11 18:35
* 1)方法参数装的是[装的是值],
* 2)可以在方法中使用方法参数代替[值].
* 3)在方法调用的时候传入并确定方法参数里的值.
*
2.泛型参数:--》在【类,接口,方法】需要用到使用时传入的【数据类型】
* 1)泛型参数装的是[引用数据类型],
* 2)可以在类或接口中使用泛型参数代替[类型].
* 3)在使用类或接口的时候传入并确定泛型参数的[类型].
*
*
* 使用泛型类或接口的语法
*
* 1)在类或接口里定义泛型参数->用于接收类型
* 语法:class|interface 类名|接口名[<泛型参数名1,泛型参数名2...>]{}
*
* 2)在类或接口里通过使用泛型参数类代替类型
* 位置:成员变量,成员方法,构造器-->静态的不能使用
*
* 3)在使用类或接口的时候传入类型
* 语法:类名|接口名<具体的类型1,具体的类型2>
* 使用的时候-》具体类型会给泛型参数赋值对应的类型
*
* 注意点:
* 1)泛型参数的类型-不能传入基本类型-可以使用对应的包装类。
* 2)在没有泛型参数通配符的时候,两个带泛型参数的引用类型赋值的时候,泛型参数类型必须一致。
3.容器
*
* 数组
* 1)可以装很多的元素
* 2)元素绑定下标,通过下标访问元素
* 3)下标范围:0到len-1
* 4)长度固定-创建的时候确定长度-不能更改
* 5)可以存储重复元素
*
* list(util包的list)(动态的数组-长度不固定的数组)
*
* 1)可以装很多的元素
* 2)元素绑定下标,通过下标访问元素
* 3)下标范围:0到size-1
* 4)长度不固定-创建的时候元素的数量为0,装入几个元素,数量为几。
* 5)可以存储重复元素
*
* list接口:定义list容器通用的api(添加,删除...)
*
* list的各种实现类
*
* ArrayList:底层通过数组来存储数据,线程不安全,ArrayList读取和设置添加元素的效率比LinkedList高
* LinkedList:底层通过双向链表来存储数据,LinkedList删除,插入元素的效率比ArrayList高
* Vector:底层通过数组来存储数据,线程安全
*
* ——》各实现类都有空构造-都是创建空元素的list容器
* ——》各实现类都有toStirng-都可以表示元素的内容
4. list的常用操作的api
*
a)增 :add(添加内容)--》添加到尾部;
插入:add(索引,添加内容)--》添加到指定位置
b)删: remove(索引 || 内容) ; 删除失败-》返回false,成功-》返回true
删除全部:clear();
5.list(util包的list)(动态的数组-长度不固定的数组)
*
* 1)可以装很多的元素(下标和元素对应关系)
* 下标不能重复
* 元素可以重复
* 2)元素绑定下标,通过下标访问元素
* 3)下标范围:0到size-1
* 4)长度不固定-创建的时候元素的数量为0,装入几个元素,数量为几。
*
* map
*
* 1)可以装很多的键值对(键和值的对应关系)
* 键:对应list 下标 ,键不能重复
* 值:对应list 元素 ,值可以重复
*
* 2)值绑定键,通过键访问值
* 3)键的范围:任何类型,任何值
* 4)长度不固定-创建的时候(键值对)的数量为0,装入几个元素,数量为几。
*
* Map接口:定义map容器通用的api
*
* map的各实现类
* hashmap:底层通过单向链表加数组实现存储数据。线程不安全,hashmap性能通常比treemap好。
* treemap:底层通过红黑树实现存储数据。treemap增加了功能-自动对加入的键值对按键进行升序排列。
* hashtable:底层通过单向链表加数组实现存储数据。线程安全
* Properteis:一种与Properteis格式的数据进行交互的map容器-如Properteis文件..
6.map的常用api
*
a)添加 修改 数据: map.put(key, value); key
1)不存在键-就是添加
2)已存在键-就是修改
b)查找值value: map.get(键key)
c) 删除数据: remove(Object key);
删除全部:clear();
d )获得总个数(键值对):size();
boolean containsKey(Object key)
如果此映射包含对于指定键的映射关系,则返回 true。
boolean containsValue(Object value)
如果此映射将一个或多个键映射到指定值,则返回 true。
7. 遍历map的内容
*
* 1)遍历map所有的值
* values() 把map所有的值装入collection容器
*
* 2)遍历map所有的键和值
* keySet() 把map所有的键装入set容器
* entrySet()把map所有的键值对装入set容器
8.容器
*
* 数组
* 1)可以装很多的元素
* 2)元素绑定下标,通过下标访问元素
* 3)下标范围:0到len-1
* 4)长度固定-创建的时候确定长度-不能更改
* 5)可以存储重复元素
*
* list(util包的list)(动态的数组-长度不固定的数组)
*
* 1)可以装很多的元素
* 2)元素绑定下标,通过下标访问元素
* 3)下标有序,下标范围:0到size-1
* 4)长度不固定-创建的时候元素的数量为0,装入几个元素,数量为几。
* 5)可以存储重复元素
*
* set
* 1)可以装很多的元素
* 2)元素不绑定下标
* 3)找到迭代器随机访问元素
* 4)长度不固定-创建的时候元素的数量为0,装入几个元素,数量为几。
* 5)不能存储重复元素
*
* list和set主要区别
* 1)list:a)元素有下标,下标有序,b)可以存储重复元素
* 2)set:a)元素没有下标,无序 b)不能存储重复元素
*
* set接口:定义了set容器的api
*
* set的实现类
*
* hashset:底层通过hashmap存储数据,hashset通常性能比 treeset好。
* treeset:底层通过treemap存储数据,treeset新增了功能-》自动对加入元素进行升序排列。(通常不使用-使用的时候通过对应的api完成)
*
*
* collection:一种容器,可以存储很多元素,定义容器操作的基本api
* list:一种容器,可以存储很多元素,元素绑定下标,定义跟下标相关的新api
* set:一种容器,可以存储很多元素,元素不能重复。
*
9.set的常用api:
*
a)增:add(); 添加失败-》返回false,成功-》返回true
b)删除:boolean remove(Object o);删除失败-》返回false,成功-》返回true
删除全部:clear();
c)获得总个数:size();
e)判断元素是否存在:contains(Object o)
10. list的3种遍历
* a)普通for -》利用下标
* b)增强for ——》利用Iterable
* c)迭代器 -》利用iterator
*
* set的2种遍历
*
* b)增强for ——》利用Iterable
*
* c)迭代器 -》利用iterator
* 使用步骤
* 1)找到容器的迭代器(管理者)it
* Iterator it= 容器.iterator();
* 2)通过管理者it遍历容器所有的元素
* 取元素的步骤
* a)有没有下一个元素-true
* hasNext()
* b)拿到下一个元素
* next()
* a)有没有下一个元素-true
* b)拿到下一个元素
* ...
* a)有没有下一个元素-false
*
*
* 增强for和迭代器选择-》增强for-语法简单
- java基础之参数和容器
- Java基础之容器
- java基础之 集合容器
- Java 基础 容器之List
- Java基础 - 容器和集合
- Java基础----Java容器之集合
- Java基础之容器(集合)
- Java基础之容器综述篇
- java基础学习之持有对象(容器)
- Java基础之-容器类概述
- java基础-数据容器之数组
- java基础-数据容器之集合List
- java基础-数据容器之Map-HashMap
- java基础 ---Swing窗口容器和布局
- Java学习--基础类和容器
- Java基础之容器之fail-fast机制
- Java容器之ArrayList、LinkedList和Vector
- iOS基础之容器
- Javascript类型判断
- spring源码解读(1)-容器基本实现
- Instrucment初识
- Java的回调函数
- opencv: Canny边缘检测(图示+源码)
- java基础之参数和容器
- leetcode486-Predict the Winner
- Qt_ 错误:cannot open output file debug\myWidget2.exe: Permission denied问题
- JSP初体验之applicatin实现网页计数器
- HDU 6033 Add More Zero
- java泛型<二>
- 接口与抽象类,区别以及使用场景 标签: java接口抽象类接口与抽象类
- 黑白卡片——每日一练
- Leetcode-3-Longest Substring Without Repeating Characters