14.7 集合

    xiaoxiao2021-12-14  20

    集合:集合是存储对象数据的集合容器。 集合比数组的优势: 1.集合可以存储任意类型的对象数据,数组只能存储同一种数据类型 的数据。 2.集合的长度是会发生变化的,数组的长度是固定的。 Collection: 单例集合的 根接口。 List: 如果实现了List接口的集合类,具备的特点是:有序,可重复 Set:如果实现了Set接口的集合类,具备的特点是:无序,不可重复。 Collection 接口 中的方法: boolean add(E,e); 成功返回true boolean addAll(Collection<? extends E> c) void clear() 清空集合中的元素 boolean remove(Object o) 从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。 boolean removeAll(Collection<?> c) 移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。 boolean retainAll(Collection<?> c) 仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。 int size() 返回此 collection 中的元素数。 比较重要的 boolean isEmpty() 判断是否为空 boolean contains(Object o) 如果此 collection 包含指定的元素,则返回 true。 boolean containsAll(Collection<?> c) 如果此 collection 包含指定 collection 中的所有元素,则返回 true。 Object[] toArray()            返回包含此 collection 中所有元素的数组。 

    Object[] arr = c.toArray(); //需求: 把编号是110的人信息 输出。 for(int i = 0 ; i<arr.length ; i++){ Person p = (Person) arr[i]; //从Object数组中取出的元素只能使用Object类型声明变量接收,如果需要其他 的类型需要进行强制类型转换。 if(p.id==110){ System.out.println(p); } }

    java.util 中接口Collection

    注意点:重新toString函数

    例如:在对象中重写

    @Override public String toString() { return "{编号:"+this.id+" 姓名:"+ this.name+"}"; } @Override public boolean equals(Object obj) { Person p = (Person)obj; return this.id == p.id ; } //java规范: 一般重写equlas方法我们都会重写hashCode方法的。 @Override public int hashCode() { return this.id; }

    转载请注明原文地址: https://ju.6miu.com/read-962990.html

    最新回复(0)