集合(接口方法测试)

Collection接口方法:

                    ①boolean add(E e):向集合末尾添加指定元素

                   ②boolean addAll(ollection<? 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<Point> list=new ArrayList<String>();
                                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 <T>List<T> asList(T...a),返回的List的集合元素类型由传入的数组的元素类型决定。

                    注:对于返回的集合我们不能对其进行增删改操作,否则抛出异常。并且对集合的元素修改会影响数组对应的元素。如果想对集合进行增删改,可以将此集合里的元素添加到另外一个集合中进行操作

                     举例:

                             public static void main(String[] args){
                                 String[] Test={"方","法","测","试"};
                                 List<String> list=Arrays.asList(Test);
                                 System.out.println(list);
                                 //此时输出结果为[方,法,测,试]
                                 list.add("添加");
                                 //此时系统会抛出异常,如果想对其进行操作,可以将该集合添加到另一集合中
                                 List<String> other=new ArrayList<String>();
                                 other.addAll(list);
                                 other.add("添加");
                                 //此时输出结果为[方,法,测,试,添加]
                             }

猜你喜欢

转载自blog.csdn.net/z774884795/article/details/81668691