您的位置:首页 > 文旅 > 旅游 > 看p站用什么浏览器_网站建设大连创时代_学百度推广培训_品牌广告和效果广告

看p站用什么浏览器_网站建设大连创时代_学百度推广培训_品牌广告和效果广告

2024/12/23 12:11:02 来源:https://blog.csdn.net/HUAIJIUdada/article/details/143943288  浏览:    关键词:看p站用什么浏览器_网站建设大连创时代_学百度推广培训_品牌广告和效果广告
看p站用什么浏览器_网站建设大连创时代_学百度推广培训_品牌广告和效果广告

怀旧网个人博客网站地址:怀旧网,博客详情:Java List 集合

List 集合的特点

image-20240313111028624

List 集合的特有方法

因为List是Collection 的子类,所以List也直接继承了所有的Collection 的方法。

image-20240313111307572

List 集合方法代码测试

创建集合对象

因为List也是接口,所以同样不能直接对List进行实例化-这里还是使用ArrayList子类来进行实例化

public static void main(String[] args){List<Student> list = new ArrayList<>();
}

add方法

public static void main(String[] args){List<Student> list = new ArrayList<>();list.add(new Student("cat", 1));list.add(new Student("age", 2));list.add(1, new Student("age", 2));System.out.println(list);
}

image-20240313111546187

​ 这边第一次和第二次的添加方式实际上是使用的父类Collection的add方法,但是在第三行添加方法才是使用List自己特有的添加方法。

public static void main(String[] args){List<Student> list = new ArrayList<>();list.add(1, new Student("age", 2));System.out.println(list);
}

image-20240313111729891

注意:在使用List的add方法时直接添加数据的时候,索引的位置上面的前一个位置必须有元素,要是没有就会报错IndexOutOfBoundsException


remove方法

List 中的remove方法通过下标进行元素删除,当元素被删除后-要是删除成功会返回删除后的元素。

public static void main(String[] args){List<Student> list = new ArrayList<>();list.add(new Student("cat", 1));list.add(new Student("age", 2));list.add(1, new Student("age", 2));list.remove(1);System.out.println(list);
}

image-20240313111913009

List 自己的remo方法,是直接删除下标所在位置的元素。

public static void main(String[] args){List<Student> list = new ArrayList<>();list.add(new Student("cat", 1));list.add(new Student("age", 2));list.add(1, new Student("age", 2));list.remove(3);System.out.println(list);
}

image-20240313111954539

注意:在使用删除的时候,要是索引位置超出了当前属于总长度的大小,就会报错IndexOutOfBoundsException

remove方法删除int类型测试

public static void main(String[] args){List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);list.remove(1);System.out.println(list);
}

image-20240313112913821

在删除int类型的数据时:只能够删除下标的元素,而不是删除指定值的元素-如果想删除指定值,可以通过下面的方式实现:

public static void main(String[] args){List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);list.remove(new Integer(1));System.out.println(list);
}

image-20240313112935938

这里是创建一个Integer的对象来进行删除,就可以实现删除指定元素值的删除。


set 方法

在执行成功set方法后,会返回被修改后的元素数据。

public static void main(String[] args){List<Student> list = new ArrayList<>();list.add(new Student("cat", 1));list.add(new Student("age", 2));list.add(1, new Student("age", 2));list.set(1, new Student("aa", 12));System.out.println(list);
}

image-20240313112151539

方法作用是修改当前的索引位置的值。

注意:当修改位置索引大于当前元素最大下标时同上也会报错IndexOutOfBoundsException-这边就不做演示了。


get 方法

public static void main(String[] args){List<Student> list = new ArrayList<>();list.add(new Student("cat", 1));list.add(new Student("age", 2));list.add(1, new Student("age", 2));System.out.println(list.get(1));
}

image-20240313112306716

get 方法是用来获取当前下标位置的元素,同理当下标元素大小超过元素最大下标同样会报错IndexOutOfBoundsException

List 集合的遍历方式

image-20240313113615768

以上就是List集合的5种遍历方式--在Collection中实现过其中的三种,可以参考:网页链接

列表迭代器遍历

image-20240313113930116

和Collection 方法一样可以进行迭代输出--注意获取迭代器对象的时候是调用listIterator()方法。。

public static void main(String[] args){List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);ListIterator<Integer> iterator = list.listIterator();while (iterator.hasNext()){Integer data = iterator.next();System.out.println(data);}
}

image-20240313114041463

重点介绍新增的方法:

previous 和 hasPrevious 方法

作用: 可以实现让指针像前移,可以实现倒序的遍历

public static void main(String[] args){List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);ListIterator<Integer> iterator = list.listIterator();while (iterator.hasNext()){Integer data = iterator.next();System.out.println(data);}System.out.println("=================");while (iterator.hasPrevious()){Integer data = iterator.previous();System.out.println(data);}
}

image-20240313114539204

注意:和next方法一样,当指针在起始位置时调用previous方法就会发生报错(因为当前指针的前一个位置是没有数据的)

public static void main(String[] args){List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);ListIterator<Integer> iterator = list.listIterator();Integer data = iterator.previous();
}

image-20240313114712104

新增add方法-和Collection一样需要用迭代器进行添加方法例如:

public static void main(String[] args){List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);ListIterator<Integer> iterator = list.listIterator();while(iterator.hasNext()){Integer data = iterator.next();if(data.equals(1)){iterator.add(4);}}System.out.println(list);
}

image-20240313145600074

同理,在迭代途中使用list的add方法同样会报错

public static void main(String[] args){List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);ListIterator<Integer> iterator = list.listIterator();while(iterator.hasNext()){Integer data = iterator.next();if(data.equals(1)){list.add(4);}}System.out.println(list);
}

image-20240313145706647

删除方法也同Collection一样

public static void main(String[] args){List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);ListIterator<Integer> iterator = list.listIterator();while(iterator.hasNext()){Integer data = iterator.next();if(data.equals(1)){iterator.remove();}}System.out.println(list);
}

普通for循环遍历

public static void main(String[] args){List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}
}

image-20240313150424240

List 遍历总结

image-20240313150648502

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com