集合ArrayList基本概念

集合用来保存一组数据 且长度不固定 ,声明集合时需要泛型。

JAVA库中带collection类,是除了Map外所有其他集合类的根接口。

包含了LIst 和 Set 还有Map 三种类型的集合。

ArrayList接口是一个允许元素重复的有序的接口,

在接口尾部添加一个元素的方法是add方法

add(“x")是添加x到元素尾部, add(a,"x")是添加x到下标a处(有可能出现下标越界情况)

集合A addall.(子集合) 是添加子集合的方法。

        ArrayList<String> singerList = new ArrayList<String>();
		singerList.add("周杰伦");
        singerList.add(3,"死亡颂唱者");
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
		list2.add("杀疯了");
		list1.addAll(list2);

得到元素的方法

get方法

得到元素的方法。

        String first = list1.get(0);
		String last = list1.get(list1.size()-1);

sublist(0,5) 是截取下标0-5的元素。

List<String> newlist = list1.subList(0, 5);
		System.out.println("原集合"+list1);
		System.out.println("现有的集合"+newlist.toString());

链表LinkedList中每个元素都指向下一个元素

ArrayList的优点在于获取指定元素时的速度很快,而Linkedlist每次获取指定元素都需要从头开始查找元素。

ArrayList在指定位置添加或者删除元素的时候需要移动元素而Linkedlist不需要移动元素。

且我们可以用Arrays工具类的aslist方法快速创建list

java.util.List<String> list = Arrays.asList("1","2");

且存在迭代器Iterator 

其实迭代器也需要创建迭代器对象。

而hasNext()是判断有没有下一个元素,而next()是得到下一个元素

	for(Iterator<String> it1 = list1.iterator();it1.hasNext();) {
			System.out.println(it1.next());
		}

元素的搜索

可以使用contains方法 返回结果为boolean值 

也可以使用index of 方法返回 int 类型的下标(若存在则返回下标值,不存在则返回-1)

Lastindex of方法则是返回最后一次出现时的下标值。

        list1.contains("Y");
		list1.indexOf("Y");
		list1.lastIndexOf("Y");

在List当中的set方法修改指定元素的下标

remove方法是删除指定下标元素, 也可以按照元素指定内容删除

set和remove方法的返回值都是Old Value

clear方法则是清空

	    String oldValue = singerList.set(2, "品冠儿子");
		String oldValue1 =singerList.remove(3);
		System.out.println(oldValue);
		System.out.println(oldValue1);

上一篇:Git学习笔记(②)


下一篇:vue开发者工具不起作用的问题