@集合示例,基础笔记
public boolean add(E a) 给定的对象添加到当前集合中
addAll( int i , E a ) 给定的对象添加到集合中有索引,可以添加到指定位置
Collection<String> coll = new ArrayList<>();
System.out.println(coll); //空的
boolean b1 = coll.add("张三"); //可以去掉 boolean b1直接coll.add()
System.out.println(coll); //张三
public boolean remove(E a) 把给定的对象在当前集合中删除
coll.remove("张三"); //本来是[张三, 李四, 王五, 赵六, 田七]
System.out.println(coll); //用了remove之后变成了[李四, 王五, 赵六, 田七]
public boolean contains(E a) 判断当前集合中是否包含给定的对象
boolean b2 = coll.contains("李四");
System.out.println(b2); //true
public int size() 返回元素中集合个数
indexof(“xxx”) 获取元素在集合中出现的第一次索引下标 lastIndexof(“xxx”) 最后一次
int i = coll.size();
System.out.println(i); //4
public object[] toArray() 把集合中的元素保存到数组
Object[] arr = coll.toArray(); //变成数组
for (int j = 0; j < arr.length; j++) { //遍历数组
System.out.println(arr[j]); //打印数组
public void clear() 清空集合中所有元素
coll.clear();
System.out.println(coll); //集合还在就是内容清空了
hashCode()方法
HashSet集合判断两个元素相等的标准:两个对象通过equals()方法比较相等,并且两个对象的hashCode()方法返回值也相等,
TreeSet: 可以确保集合元素处于排序状态
支持两种排序:自然和定制,默认是自然排序
给人类按照年龄排序
//人类的代码,需要继承一个接口,实现一个方法 这就是定制排序
public class Porsen implements Comparator<Porsen> {
String name;
int age;
public Porsen(String name, int age) {
this.name = name;
this.age = age;
}
public Porsen() {
}
@Override
public int compare(Porsen o1, Porsen o2) {
if (o1.age>o2.age){
return 1;
}else if (o1.age<o2.age){
return -1;
}else {
return 0;
}
}
}
//实现类代码
public class Dome {
public static void main(String[] args) {
Porsen p1 = new Porsen("卢本伟",18);
Porsen p2 = new Porsen("张三",56);
Porsen p3 = new Porsen("小智",38);
Porsen p4 = new Porsen("飞机",23);
Porsen p5 = new Porsen("得分",31);
Set<Porsen> set = new TreeSet<Porsen>(new Porsen());
set.add(p1);
set.add(p2);
set.add(p3);
set.add(p4);
set.add(p5);
for (Porsen p:set) {
System.out.println(p.name+" "+p.age);
}