ArrayList

ArrayList用法

List 接口
List接口继承了Collection接口,称为有序集合,可以精确控制列表中每个元素的
入位置。通过整数索引获取列表中的元素。List允许出现重复的值。实现List接口的常类有ArrayList和LinkedList。它们都可以容纳所有类型的对象,包括null。允许重复,并可保证元素的存储顺序。

 

ArrayList构造方法

1.public arraylist() [构造一个容量为十的空列表]
2.public ArrayList(Collection<? extends E> c)
构造一个包含指定集合的元素的列表,按照它们由集合的迭代器返回的顺序。
参数
c - 要将元素放入此列表的集合
异常 :
NullPointerException - 如果指定的集合为空

创建一个集合list

public boolean add(E e)

修饰语和类型   方法以及说明

    • Modifier and TypeMethod and Description
      booleanadd(E e)

      将指定的元素追加到此列表的末尾(可选操作)。

      voidadd(int index, E element)

      将指定的元素插入此列表中的指定位置(可选操作)。

      booleanaddAll(Collection<? extends E> c)

      按指定集合的迭代器(可选操作)返回的顺序将指定集合中的所有元素附加到此列表的末尾。

      booleanaddAll(int index, Collection<? extends E> c)

      将指定集合中的所有元素插入到此列表中的指定位置(可选操作)。

      voidclear()

      从此列表中删除所有元素(可选操作)。

      booleancontains(Object o)

      如果此列表包含指定的元素,则返回 true 。

      booleancontainsAll(Collection<?> c)

      如果此列表包含指定 集合的所有元素,则返回true。

      booleanequals(Object o)

      将指定的对象与此列表进行比较以获得相等性。

      Eget(int index)

      返回此列表中指定位置的元素。

      inthashCode()

      返回此列表的哈希码值。

      intindexOf(Object o)

      返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。

      booleanisEmpty()

      如果此列表不包含元素,则返回 true 。

      Iterator<E>iterator()

      以正确的顺序返回该列表中的元素的迭代器。

      intlastIndexOf(Object o)

      返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。

      ListIterator<E>listIterator()

      返回列表中的列表迭代器(按适当的顺序)。

      ListIterator<E>listIterator(int index)

      从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。

      Eremove(int index)

      删除该列表中指定位置的元素(可选操作)。

      booleanremove(Object o)

      从列表中删除指定元素的第一个出现(如果存在)(可选操作)。

      booleanremoveAll(Collection<?> c)

      从此列表中删除包含在指定集合中的所有元素(可选操作)。

      default voidreplaceAll(UnaryOperator<E> operator)

      将该列表的每个元素替换为将该运算符应用于该元素的结果。

      booleanretainAll(Collection<?> c)

      仅保留此列表中包含在指定集合中的元素(可选操作)。

      Eset(int index, E element)

      用指定的元素(可选操作)替换此列表中指定位置的元素。

      intsize()

      返回此列表中的元素数。

      default voidsort(Comparator<? super E> c)

      使用随附的 Comparator排序此列表来比较元素。

      default Spliterator<E>spliterator()

      在此列表中的元素上创建一个Spliterator

      List<E>subList(int fromIndex, int toIndex)

      返回此列表中指定的 fromIndex (含)和 toIndex之间的视图。

      Object[]toArray()

      以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。

      <T> T[]toArray(T[] a)

      以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。

 List接口中的重要方法增  删  改   查

List接口中 重要方法 增,删,改,查

public class TestList {
   public static void main (String [] args) {
	   /**
	    * ArrayList 有序   有下标   元素可重复
	    * LinkedList  删除和插入数据   速度快
	    */
	   List list = new ArrayList();
	   
	   //增
	   /**.add()  添加数据*/
	   list.add("张三");
	   list.add(10);
	   list.add('男');
	   list.add(11.1);
	   list.add('女');
	   list.add(12);
	   //删
	   /**.remove(index)根据下标进行移除数据 */
	   list.remove(5);
	   /**.remove(Object) 删除括号里面的数据*/
	   boolean b = list.remove(11.1);
	   System.out.println(b);
	   //改
	   /**.set(index , 值)*/
	   //查
	   System.out.println("---------------第一种--for循环-------------------------------");
	   /** .size() 获取集合的长度*/
	   int length = list.size();
	   for(int i = 0; i<length;i++) {
		   /**.get(index) 根据下标获取数据*/
		   Object obj = list.get(i);
		   System.out.println(obj+" ");
		   
	   }
	   System.out.println();
	   System.out.println("------------------第二种--forEach------");
	   /**
	    * 增强版的for循环 --forEach
	    * 语法 for(数据类型 对象名字:集合名字){}
	    * 作用 把集合中的每一个数据都赋值给前面的数据对象
	    * -- Object obj = list.get(i);
	    */
	   for(Object obj:list) {
		   System.out.println(obj+" ");
	   }
	   System.out.println();
	   System.out.println("-------------------第三种--迭代器循环------------------");
	   /**.iterator() 获取一个迭代器*/
	   Iterator iterator = list.iterator();
	   /**.hasNext() 判断下一个还有没有值,有数据继续循环,没有继续循环*/
	   while(iterator.hasNext()) {
		   /** terator.next()  获取下一个值*/
		   Object obj = iterator.next();
		   System.out.println(obj+" ");
	   }
	   
   }
}

查找数据
集合对象名.size()获取集合长度
 

//第一种方法
		for(int i=0; i<list.size();i++) {
			//list.get(i);获取i位次的值
			System.out.print(list.get(i));
		}
		//第二种方法
			/*
			 * 增强版的for循环
			 * 语法
			 * for(数据类型  名字:集合名字){}
			 * 作用:把集合中的每一个数据都赋值给前面的数据类型
			 */
			System.out.println(" ");
			for(Object obj : list) {
				System.out.print(obj+" ");
				
			}
			
		//第三种
			/*
			 * 迭代器循环
			 */
			System.out.println(" ");
			Iterator iterator = list.iterator();//前面的Interator是类
			while(iterator.hasNext()){//iterator.hasNext()判断下一位还有没有值   有就接着循环
				Object obj = iterator.next();
				System.out.print(obj+" ");
				
			}

 

插入另一个集合中的数据
语法:.addAll([  index ], 集合名)

public class testArrayList {
	public static void main(String[] args) {
		List list = new ArrayList();
		/*
		 * 添加
		 */
		list.add(4);
		list.add("可以");
		list.add('嗯');
		list.add(2.4);
		list.add(12);
		list.add("许昌");
		/*
		 * .addall(index,集合名)把数据传入另一个集合
		 */
		List qwe = new ArrayList();//声明一个集合
		qwe.add(3);
		qwe.add("你好");
		qwe.addAll(1,list);//表示从下标为1的位置开始插入list集合中的数据
		System.out.println(qwe);
	}
}

index - 要替换的元素的索引
element - 要存储在指定位置的元素 

删除集合中的所有元素
语法:.clear()
 

//对象名.clear()删除集合中的所有元素
		qwe.clear();
public E remove()
检索并删除此列表的头(第一个元素)。 
public E remove(int index)
删除该列表中指定位置的元素。 将任何后续元素移动到左侧(从其索引中减去一个元素)。 返回从列表中删除的元素。 
public E removeFirst()
从此列表中删除并返回第一个元素。 
public E removeLast()
从此列表中删除并返回最后一个元素。 

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

⁡⁤⁡⁤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值