您的位置:首页 > 编程语言 > Java开发

JavaSE--------基础语法(一续)

2017-12-20 10:57 260 查看

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基础语法