可变参数
数据类型已经确定,但参数个数不确定
method(ElemType ...变量名){}
public void method(int...a){}
注意:一个方法只能有一个可变参数,只能写在最后边
Collections
- addAll():添加好多元素
Collections.addAll(list,a,b,c...)
- shuffle(list):打乱顺序
- sort(list):对集合进行升序排列——只能传递list集合
自定义类型的排序时,需要实现compareable接口,重写compareto(obj)方法
升序规则:this.getage()-o.getage()
- sort(list,comparator)
compareable:调用者和传递的进行比较,自己需要实现compareable接口,重写方法
comparator:在排列时定义排序方式
Collections.sort(list,new comparator(){
@override
public int compare(student s1,student s2){
return s1.getAge()-s2.getAge();
}
})
Map集合
Map<K,V>。接口,键映射到值,键不可重复
- put(k,v):添加到集合。返回被替换v
- remove(k):删除键所对应的键值对
- get(k):通过键获取值
- containsKey(key):是否含有指定key
遍历:
Set set =map.keyset();
set.itertor();
...
may.get();
键值对对象
Entry<K,V>。接口,map接口的内部接口,创建map集合时,创建entry对象,记录键与值,有几个键值对,就有几个entry对象
set entry = map.entrySet();
for(ElemType s : entry){}
Hashmap
无序集合,是hashset的底层
存储自定义类型:
自定义类型的类重写hashcode(),equals()保证键不重复
hashtable
不可添加null,键与值都是。最早期的双列集合,实现map接口。子类properties
Debug
代码会停止到自己添加断点的位置,这一行并没有执行。
idea:f8:逐行执行。f7:进入方法。shift+f8:跳出方法。f9:下一个断点。
ctrl+f2:退出debug模式