由于咱们针对与算法使用,所有会有一些个函数可能平时用不到。
目录
list基础增 删 改 查
算法中最常用的交换
自然排序
反向排序·注不是倒序,不是倒序,不是倒序
随机排序
判断是否有某元素
集合截取
加强for循环foreach遍历列表
咱们挨个看看啊,先看
list基础增 删 改 查
add增加
remove删除
set修改
get查询
package Action;
import java.util.ArrayList;
public class demo {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
//增加
arrayList.add(111);
arrayList.add(222);
arrayList.add(333);
arrayList.add(444);
arrayList.add(555);
arrayList.add(666);
System.out.println("集合元素有:"+arrayList);
//删除·根据下标删除
arrayList.remove(3);
System.out.println("集合元素删除下标3后:"+arrayList);
//修改
arrayList.set(2, 777);
System.out.println("集合元素修改下标2为777后:"+arrayList);
//查询
Integer index2 = arrayList.get(2);
System.out.println("下标是2的值是:"+index2);
}
}
算法中最常用的交换
Collections.swap(list,2,3);//目的是将变量名为list的列表下标为2和3位置上的值进行交换
package Action;
import java.util.ArrayList;
import java.util.Collections;
public class demo {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
//增加
arrayList.add(111);
arrayList.add(222);
arrayList.add(333);
arrayList.add(444);
arrayList.add(555);
arrayList.add(666);
System.out.println("交换前元素顺序:"+arrayList);
Collections.swap(arrayList, 1, 5);
System.out.println("交换后元素顺序:"+arrayList);
}
}
效果:
自然排序
Collections.sort(list);
package Action;
import java.util.ArrayList;
import java.util.Collections;
public class demo {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
//增加
arrayList.add(555);
arrayList.add(666);
arrayList.add(111);
arrayList.add(333);
arrayList.add(222);
arrayList.add(444);
System.out.println("排序前元素顺序:"+arrayList);
Collections.sort(arrayList);
System.out.println("排序后元素顺序:"+arrayList);
}
}
反向排序·注不是倒序,不是倒序,不是倒序
package Action;
import java.util.ArrayList;
import java.util.Collections;
public class demo {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
//增加
arrayList.add(555);
arrayList.add(666);
arrayList.add(111);
arrayList.add(333);
arrayList.add(222);
arrayList.add(444);
System.out.println("反向排序前元素顺序:"+arrayList);
Collections.reverse(arrayList);
System.out.println("反向排序后元素顺序:"+arrayList);
}
}
随机排序
package Action;
import java.util.ArrayList;
import java.util.Collections;
public class demo {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
//增加
arrayList.add(111);
arrayList.add(222);
arrayList.add(333);
arrayList.add(444);
arrayList.add(555);
arrayList.add(666);
System.out.println("随机排序前元素顺序:"+arrayList);
Collections.shuffle(arrayList);//随机排序·适合洗牌
System.out.println("随机排序后元素顺序:"+arrayList);
}
}
效果
判断是否有某元素
package Action;
import java.util.ArrayList;
import java.util.Collections;
public class demo {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
//增加
arrayList.add(111);
arrayList.add(222);
arrayList.add(333);
arrayList.add(444);
arrayList.add(555);
arrayList.add(666);
System.out.println("集合元素表:"+arrayList);
//判断是否存在某值
int info=666;
boolean contains = arrayList.contains(info);
System.out.println((contains?"有":"没有")+info+"元素");
}
}
效果
集合截取
package Action;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class demo {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
//增加
arrayList.add(111);
arrayList.add(222);
arrayList.add(333);
arrayList.add(444);
arrayList.add(555);
arrayList.add(666);
System.out.println("原集合元素列表:"+arrayList);
//截取后增加某元素
List<Integer> subList = arrayList.subList(2, 4);
subList.add(250);
System.out.println("截取的元素列表:"+subList);
//被动的在小标为4的位置上增加了一个250的值
System.out.println("原集合元素列表:"+arrayList);
}
}
效果
加强for循环foreach遍历列表
package Action;
import java.util.ArrayList;
public class demo {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
//增加
arrayList.add(111);
arrayList.add(222);
arrayList.add(333);
arrayList.add(444);
arrayList.add(555);
arrayList.add(666);
//foreach遍历
for (Integer i : arrayList) {
System.out.println(i);
}
}
}
效果
用的最多的就是【ArrayList】所以针对它进行一个使用详情的演示操作,【LinkedList】操作都是类似的。下篇文章我会对照的比较一下【ArrayList】与【LinkedList】的【增删查】效率,以后你就能知道具体在什么时候用那个列表了。