Collection接口方法:
①boolean add(E e):向集合末尾添加指定元素
②boolean addAll(Collection extends E> c)addAll(int index,Collection extends E>c)向集合内(指定位置index)添加另一集合的全部元素
③void clear():清空集合,可用于多次使用单个集合对象,节省资源
④boolean contains(Object o):判断是否含有某个对象,底层调用equals方法进行比较(equals方法比较内容,双等号比较的是地址)
⑤boolean containsAll(Collection> c):判断本集合中是否含有集合c的所有元素
⑥boolean remove(Object o):移除集合中的一个元素
⑦boolean removeAll(Collection>):移除集合中集合c含有的所有元素
⑧boolean isEmpty():判断集合是否为空
⑨boolean equalse(Object):比较两集合长度与索引所对应元素是否一样
⑩bollean retainAll(Colection>):保留该集合与括号中集合中的相同元素
List 接口方法:
①boolean add(E e):向列表末尾添加指定元素
②void add(int endex,E element):在列表指定位置添加元素
③boolean addAll(Collection c):将集合c中的所有元素添加到列表的结尾
④boolean addAll(int index,Collection c):将集合c中所有元素添加到列表的指定位置
⑤E get(int index):返回列表指定位置的元素
⑥int indexOf(Obfect obj):返回列表中指定元素第一次出现的位置,如果没有该元素,返回-1
⑦int lastIndexOf(Object obj):返回列表中指定元素最后一次出现的位置,如果没有该元素,返回-1
⑧E remove(int index):移除集合中指定位置的元素,返回被移除掉的元素对象
⑨E set(int index,E element):用指定元素替换指定位置上的元素,返回被替换出的元素对象
⑩int size():获取集合元素的个数
⑪List subList(int fromIndex,int toIndex):截取子集,返回集合中指定的fromIndex到toIndex之间部分的视图,包前不包后,当对子集进行操作时,父集会受到影响,即处理的数据为同一地址的数据。子集对象地址与父集对象地址不为同一个。
集合转换为数组:
①Object[] toArray():将集合转成Object类型的数组(不常用)
②E[] toArray(E[] e):将集合转换成泛型规定的类型的数组(常用)
举例:
现假如有一point类;
属性:横坐标x,纵坐标y;
方法:无参构造方法,有参构造方法,set方法,get方法
第一种集合转数组方式
public static void main(String[] args){
List
list.add(new Point(1,2));
list.add(new Point(3,4));
list.add(new Point(5,6));
Object[] Obj=list.toArray();
System.out.println(Arrays.toString(Obj));
//此时输出结果为[(1,2),(3,4),(5,6)]
/*System.out.println(Obj[0].getX);
此时发现Obj[0].getX方法行不通,为什么?因为在list转变为数组时,Obj数组内的
对象类型为[Object,object,object],而object类中并没有getX方法,所以报错。那
么现在就需要对数组进行类型转换
*/
if(Obj[0] instanceof Point){
Point p1=(Point)Obj[0];
System.out.println(p1.getX());
}
}
第二种结合转数组方式
public static void main(String[] args){
Point[] ps=list.toArray(new Point[0]);
}
数组转换成集合:
Arrays类中提供了一个静态方法asList,此方法可以将数组对象转换成集合。
static
注:对于返回的集合我们不能对其进行增删改操作,否则抛出异常。并且对集合的元素修改会影响数组对应的元素。如果想对集合进行增删改,可以将此集合里的元素添加到另外一个集合中进行操作
举例:
public static void main(String[] args){
String[] Test={"方","法","测","试"};
List
System.out.println(list);
//此时输出结果为[方,法,测,试]
list.add("添加");
//此时系统会抛出异常,如果想对其进行操作,可以将该集合添加到另一集合中
List
other.addAll(list);
other.add("添加");
//此时输出结果为[方,法,测,试,添加]
}
Iterator迭代器(interface):
用于遍历集合元素,Collection接口中提供了获取迭代器的构造器
集合在重写此方法时,利用内部类实现了迭代器
在使用迭代器期间不能对集合进行操作
Iterator提供了统一的遍历集合元素的方式:
①boolean hasNext():判断集合是否还有元素可以遍历
②E next():返回迭代的下一个元素
③void remove():删除取出的元素,即next()方法返回的元素