JavaSE--------基础语法(一续)
来源:互联网 发布:外汇交易员知乎 编辑:程序博客网 时间:2024/04/30 20:35
7.数据结构
(1)数组
①声明
Ⅰ.Object[] arr = new Object[长度];
Ⅱ.Object[] arr = {o1,o2,o3};
Ⅲ.Object[] arr = new Object[]{o1,o2,o3};
②赋值: arr[下标] = 值
③获取数组长度:length属性
④取值
Ⅰ.arr[下标]
Ⅱ.普通for循环遍历
Ⅲ.foreach
⑤排序
Ⅰ.冒泡排序:相邻两个元素依次比较,互换位置
Ⅱ.选择排序:让未确定的第一个数依次和后面的比较,互换位置
Ⅲ.Arrays.sort(arr); 按照自然升序排列
⑥特点:长度一旦声明,不可改变
⑦二维数组
Ⅰ.赋值
Ⅱ.遍历
(2)集合
①特点:可变长度
②Collection接口
Ⅰ.子接口:list
ⅰ.特点:有序、可重复
ⅱ.实现类ArrayList:
㈠添加
❶add(Object obj)
❷add(int i,Object obj)
❸addAll(Collection c)
❹addAll(int i,Collection c)
㈡修改
set(int i,Object newObj)
㈢删除
❶remove(int i)
❷remove(Object obj)
❸removeAll(Collection c)
❹retainAll(Collection c) 仅在列表中保留指定 collection 中所包含的元素
❺clear()
㈣查询
❶get(int i) 根据下标查询元素,返回元素
❷contains(Object obj) 查询列表中是否包含指定元素,包含返回true
❸indexOf(Object obj) 查询指定元素第一次出现的下标,返回下标索引,没有该元素返回-1
❹lastIndexOf(Object obj) 查询指定元素最后一次出现的下标,返回下标索引,没有该元素返回-1
❺isEmpty() 判断列表是否为空,为空返回true
㈤序列遍历
❶使用for循环
for(int i=0;i<list.size();i++){ list.get(i);}
❷使用foreach循环
❸使用iterator迭代器
it.hasNext() 如果有下一个元素,返回true
it.next() 返回下一个元素
it.remove() 删除迭代器返回的最后一个元素
Ⅱ.其他方法
❶获取长度:size()
❷subList(int start,int end) 截取集合,从下标start(包含)到下标end(不包含)截取
❸toArray() 把列表转为数组,返回的是Object[]
补充:
把数组转为List集合,Arrays.asList(arr);
③子接口:set
Ⅰ.特点:无序、不可重复
Ⅱ.实现类:HashSet
ⅰ.添加
❶add(Object obj)
❷addAll(Collection c)
ⅱ.修改:set中没有修改的方法,可以间接修改,先删除、再添加
ⅲ.删除
❶remove(Object obj)
❷removeAll(Collection c)
❸retainAll(Collection c) 仅保留 set 中那些包含在指定 collection 中的元素
❹clear() 清除所有元素
ⅳ.查询
❶contains(Object obj) 查询set中是否包含指定元素,包含返回true
❷containsAll(Collection c) 查询set中是否包含指定的多个元素,全部包含返回true
❸isEmpty() 判断set是否为空,为空返回true
❹遍历
∆使用foreach循环
∆使用iterator迭代器
it.hasNext() 如果有下一个元素,返回true
it.next() 返回下一个元素
it.remove() 删除迭代器返回的最后一个元素
(3)集合的继承关系
Ⅰ.Collocation接口
ⅰ.子接口
❶Set——>实现类HashSet
❷List——>实现类ArrayList
ⅱ.实现类
Ⅰ.实现类
ⅰ.AbstractCollection抽象类
❶子类
⊙AbstractList 抽象类——>子类:ArrayList
⊙AbstractSet 抽象类——>子类:HashSet
- JavaSE--------基础语法(一续)
- JavaSE--------基础语法(一)
- JavaSE 02 Java基础语法(一)
- JavaSe基础03——Java语法(一)
- JavaSE----基础语法(方法)
- JavaSE----基础语法(数组)
- JavaSE基础(一)
- JAVASE基础(一)
- JavaSE基础部分--(一)
- JAVASE基础补充(一)
- JavaSE基础篇(一)
- JavaSE----基础语法(运算符)
- JavaSE----基础语法(程序流程控制)
- JavaSE——java语法基础(-)
- JavaSE-java语法基础(二)
- JavaSE 03 Java基础语法(二)
- Javase 基础语法注意笔记
- JavaSE ☞ 基础语法差异
- 2017年个人总结-程序员的中年焦虑症
- 蓝桥杯 算法训练 字串统计
- Eclipse项目移植到Android studio上踩的坑。。。。。。
- 关于数学问题的程序解决,找出推导式及西大OJ_14解答
- 《getting started with p5.js》(中文版) 第一章 您好:了解p5.js
- JavaSE--------基础语法(一续)
- HTML-如何正确给table加边框
- 文本挖掘与分析课程笔记_Week1
- 实习项目:superviser
- python功能二维表合并,一维表内嵌元祖合并以及取交集,并集,差集
- 基于TextRank API写的测试
- json list map 对象 转换成tostring Json的数据格式
- 秒杀多线程第六篇 经典线程同步 事件Event
- VC下Debug和Release区别