Java集合与数组

1、集合简介

    用来管理一组对象的单一对象。集合内的对象称之为元素,集合可处理多种类型对象,这些对象共同的父类是Object

2、数组与集合

    相同点:都是存储数据的容器,存储Object类型时,其实就是存储的对象的地址

    不同点:

            a、数组可以存储记本数据类型(int,double,string....),集合不可以

            b、数组长度固定,集合长度可变

3、Collection接口

        List子接口抽象方法:

        boolean add(E e)   //从列表尾部追加元素(E--泛型)

        void add(int index,E element)  //在列表中的指定位置添加元素

扫描二维码关注公众号,回复: 2237364 查看本文章

        boolean addAll(int index,Collection c)  //将集合c中的元素添加到列表的指定位置    

        E get(int index)  //返回列表中的指定位置的元素

        int indexOf(Object obj)  //返回指定元素第一次在列表中出现的位置,如果没有返回-1

        int lastIndexOf(Object obj)  //返回指定元素第一次在列表中出现的位置,如果没有返回-1

        E remove(int index)  //移除里表中指定位置的元素,并返回该被移除的元素对象

        E set(int index,Eelement) //用指定的元素替换指定位置上的元素,并返回被替换的元素

        List subList(int fromIndex,int toIndex)  //截取子集,返回指定的fromIndex到toIndex之间的试图部分(通过子集引用修改元素,会影响父集)

        练习代码:

/*
	 * list子接口----父接口Collection
	 * list接口特点
	 * 有序,可重复(一个元素可存多次)
	 * 元素的索引:从0开始---到size()-1
	 * list的实现类
	 * 		ArrayList,Linkedlist,Vector
	 */
	public static void main(String[] args) {
		String str1 = "gaoyuanyuan";
		//创建一个集合对象
		List<String> list = new ArrayList<String>();
		
		/*
		 * boolean add(E e)
		 * 从尾部追加元素
		 * E:是指泛型
		 */
		list.add("aaa");
		list.add(str1);
		System.out.println(list);
		list.add("bbb");
		System.out.println(list);
		/*
		 * int size()
		 * 长度
		 */
		System.out.println(list.size());
		
		/*
		 * void add(int index,E e)
		 * 向索引为一的位置上添加元素“xxx”;
		 */
		list.add(1, "ccc");
		System.out.println(list);

		/*
		 * boolean addAll(Collection c)
		 * 作用:将集c合添加到末尾
		 */
		List<String> one = new ArrayList<String>();
		one.add("hello");
		one.add("world");
		one.add(str1);
		list.addAll(one);
		
		System.out.println(list);
		/*
		 * boolean addAll(int index,Collection c)
		 * 指定index位置上插入集合
		 */
		List<String> two = new ArrayList<String>();
		two.add("hellokikty");
		two.add("helloSuper");
		//将two插入到list集合的最前面
		list.addAll(0, two);
		System.out.println(list);
	}
public static void main(String[] args) {
		List<Integer> list = new ArrayList<Integer>();
		//将10,20,30,。。。添加到集合list中
		for(int i=1;i<10;i++){
			list.add(i*10);
		}
		System.out.println(list);
		
		/*
		 * List subList(int forIndex,int toIndex)
		 * 从forIndex开始截取到toIndex结束
		 * 包前不包后
		 * 
		 * 通过子集引用修改元素
		 * 会影响夫集
		 */
		//截取前7个
		List<Integer> sublist = list.subList(1, 8);
		//将子集锂元素进行乘10
		for(int i=0;i<sublist.size();i++){
			int element = sublist.get(i);
			sublist.set(i, element*10);
		}
		System.out.println(sublist);
		//子集与父集的地址是否时同一个
		System.out.println(sublist.hashCode()==list.hashCode());
		
	}        

猜你喜欢

转载自blog.csdn.net/woainiqazwsx123/article/details/80610875