首页 > 基础资料 博客日记
【Java基础】Java中ArrayList和LinkedList的基本使用(附代码)
2024-04-04 22:00:07基础资料围观290次
📝个人主页:哈__
期待您的关注
目录
①.add(Object element) 向列表的尾部添加指定的元素。
③.get(int index) 返回列表中指定位置的元素,index从0开始。
④.add(int index, Object element) 在列表的指定位置(从0开始)插入指定元素
⑤.set(int i, Object element) 使用元素element替换索引i位置的元素,并返回替换元素。
⑦.isEmpty() 判断列表是否包含元素,不包含元素则返回 true,否则返回false。
⑧.contains(Object o) 如果列表包含指定的元素,则返回 true。
⑨.remove(int index) 移除列表中指定位置的元素,并返回被删元素,删除位置后面的元素(如果有)向前移动。
⑩.remove(Object o) 从List集合中移除第一次出现的指定元素,移除成功返回true,否则返回false。
一、ArrayList集合
ArrayList数组是一个泛型数组,在定义的时候需要传入存储数据的类型。
1. ArrayList集合的特点
2. ArrayList集合当中的一些方法。
①.add(Object element) 向列表的尾部添加指定的元素。
②.size() 返回列表中的元素个数。
③.get(int index) 返回列表中指定位置的元素,index从0开始。
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
System.out.println("创建的ArrayList集合初始的大小是"+arrayList.size());
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
int arrayLength = arrayList.size();
System.out.println("创建的ArrayList集合,并添加数据之后的大小是"+arrayLength);
for(int i = 0;i<arrayLength;i++){
System.out.println("添加的第" +(i+1) +"条数据是"+arrayList.get(i));
}
}
对于初学者来说,可以把上边我定义的arrayList看作为String [] arrayList = new String[]; 只不过ArrayList不需要你去传入数组是多大,因为ArrayList数组是动态扩充的,具体是怎么扩充的这篇文章先不做解释。
④.add(int index, Object element) 在列表的指定位置(从0开始)插入指定元素
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
arrayList.add(0,"喜羊羊");
int arrayLength = arrayList.size();
for(int i = 0;i<arrayLength;i++){
System.out.println("添加的第" +(i+1) +"条数据是"+arrayList.get(i));
}
}
如上图所示,我在arayList中的0号位置添加了一条数据,那么原本在第一条的张三的位置就会被喜羊羊代替,张三和后边的数据都向后移。这也容易理解,在一次体育课上,张三、李四和王五是跑步的前三名,老师将他们的姓名和名字记录在自己的表格当中,张三——第一名,李四——第二名,王五——第三名。现在喜羊羊觉得不服,他要重新挑战前三名,并且成功挑战获得比张三更好的成绩。老师无奈下只能将表格修改为喜羊羊——第一名,张三——第二名,以此类推。
⑤.set(int i, Object element) 使用元素element替换索引i位置的元素,并返回替换元素。
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
arrayList.set(0,"喜羊羊");
int arrayLength = arrayList.size();
for(int i = 0;i<arrayLength;i++){
System.out.println("添加的第" +(i+1) +"条数据是"+arrayList.get(i));
}
}
这一次也不难理解,体育老师在登机成绩的时候,觉得第一名眼熟,仔细一想叫做张三,于是将张三定为了第一名。实际的第一名一看排名表发现自己不在排行榜上,于是找到了老师,老师说:“张三,你不是第一名吗,怎么说没有你?”解释了一下老师才发现自己想错名字了,第一名不叫张三,他叫喜羊羊,于是老师只能将榜单的第一名修改为喜羊羊。
注意:set方法的index坐标不能超过ArrayList集合当前的长度-1 否则的话会这样,
⑥.clear() 从列表中移除所有元素。
⑦.isEmpty() 判断列表是否包含元素,不包含元素则返回 true,否则返回false。
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
System.out.println(arrayList.isEmpty());
// false
arrayList.clear();
System.out.println(arrayList.isEmpty());
//true
}
⑧.contains(Object o) 如果列表包含指定的元素,则返回 true。
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
boolean res = arrayList.contains("张三");
//true
boolean res2 = arrayList.contains("喜羊羊");
//false
System.out.println("是否存在张三:"+res);
System.out.println("是否存在喜羊羊:"+res2);
}
⑨.remove(int index) 移除列表中指定位置的元素,并返回被删元素,删除位置后面的元素(如果有)向前移动。
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
for (int i = 0; i < arrayList.size(); i++) {
System.out.println(arrayList.get(i));
}
System.out.println("将张三删除");
arrayList.remove(0);
for (int i = 0; i < arrayList.size(); i++) {
System.out.println(arrayList.get(i));
}
}
⑩.remove(Object o) 从List集合中移除第一次出现的指定元素,移除成功返回true,否则返回false。
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("张三");
arrayList.add("李四");
arrayList.add("王五");
System.out.println("再次添加张三");
arrayList.add("张三");
for (int i = 0; i < arrayList.size(); i++) {
System.out.println(arrayList.get(i));
}
System.out.println("删除张三");
arrayList.remove("张三");
for (int i = 0; i < arrayList.size(); i++) {
System.out.println(arrayList.get(i));
}
}
二、LinkedList集合
1.LinkedList集合的特点
2.LinkedList集合的一些方法
①.添加
public static void main(String[] args) {
LinkedList<Integer> linkedList = new LinkedList<>();
linkedList.add(1);
linkedList.add(2);
linkedList.add(3);
linkedList.addFirst(4);
linkedList.addFirst(5);
linkedList.addLast(6);
System.out.println(linkedList);
}
实现过程
first和last指向的就是链表中的第一个位置和最后一个位置。我们可以看到addFirst的过程和first的重新指向。
②:获取数据
Object get(int index) 根据下标获取数据
Object getFirst() 它返回链表的第一个元素。
Object getLast() 它返回链接列表的最后一个元素。
public static void main(String[] args) {
LinkedList<Integer> linkedList = new LinkedList<>();
linkedList.add(1);
linkedList.add(2);
linkedList.add(3);
System.out.println(linkedList.get(1));
System.out.println(linkedList.getFirst());
System.out.println(linkedList.getLast());
}
③.删除
E remove() 删除第一个元素
E remove(int location) 删除指定位置的元素
E removeFirst() 删除并返回链接列表的头部一个元素
E removeLast() 删除并返回链接列表的尾部一个元素
代码不再展示。
④.查询
boolean contains(Object element)如果元素存在于列表中,则返回true。
LinkedList<Integer> linkedList = new LinkedList<>();
linkedList.add(1);
linkedList.add(2);
linkedList.add(3);
linkedList.add(1);
System.out.println("是否出现过元素1:"+linkedList.contains(1));
//是否出现过元素1:true
System.out.println("是否出现过元素4:"+linkedList.contains(4));
//是否出现过元素4:false
⑤.修改
Object set(int index,Object element)它用于用新元素替换列表中的现有元素
LinkedList<Integer> linkedList = new LinkedList<>();
linkedList.add(1);
linkedList.add(2);
linkedList.add(3);
linkedList.add(1);
linkedList.set(1,9);
System.out.println("更新过的链表:"+linkedList);
//更新过的链表:[1, 9, 3, 1]
其他的内容不再展示了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签: