脚本宝典收集整理的这篇文章主要介绍了Java—List的使用【数据结构】,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
List 接口继承于Collection接口 List 特指:线性表这一类数据结构,而List的典型实现有:Vector,ArrayList 和 LinkedList三个 其中 Vector 和 ArrayList 表示顺序表,而 LinkedList 表示链表
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Java");
}
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add(1,"Yolo!");
}
将指定集合中的所有对象添加到该集合中, c 表示是要添加到该列表中的元素的集合
? 表示通配符,extends E,表示插入的元素必须是 E 或 其子类
List<String> list = new ArrayList<>();
Collection<String> collection = new ArrayList<>();
collection.add("Hello");
collection.add("World");
list.addAll(collection);
输出结果:
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Java");
list.add(1,"Yolo");
Collection<String> collection = new ArrayList<>();
collection.add("Hello");
collection.add("World");
list.addAll(0,collection);
System.out.PRintln(list);
}
输出结果:
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Java");
list.add(1,"Yolo");
list.remove(0);
System.out.println(list);
}
输出结果:
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Yolo");
list.add("Java");
list.add(2,"Yolo");
System.out.println(list);
list.remove("Yolo");
System.out.println(list);
}
输出结果:
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Yolo");
list.add("Java");
System.out.println("清空前:" + list);
list.clear();
System.out.println("清空后:" + list);
}
输出结果:
此处注意,下标不能越界
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Yolo");
list.add("Java");
list.add(2,"Yolo");
System.out.println("修改前:" + list);
list.set(1,"Codeing");
System.out.println("修改后:" + list);
}
输出结果:
此处注意,下标不能越界
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Yolo");
list.add("Java");
list.add(2,"Yolo");
System.out.println(list);
System.out.println(list.get(0));
}
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Yolo");
list.add("Java");
list.add(2,"Yolo");
System.out.println(list)
int index = list.indexOf("Yolo");
System.out.println("第一个Yolo所在下标:" + index);
}
输出结果:
@H_360_1271@
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Yolo");
list.add("Java");
list.add(2,"Yolo");
System.out.println(list);
int lastIndex = list.lastIndexOf("Yolo");
System.out.println("最后一个Yolo所在下标:" + lastIndex);
}
输出结果:
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Yolo");
list.add("Java");
list.add(2,"Yolo");
System.out.println(list);
System.out.println(list.contains("Java"));
}
输出结果:
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Yolo");
list.add("Java");
list.add(2,"Yolo");
System.out.println(list);
System.out.println(list.size());
}
输出结果:3
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Yolo");
list.add("Java");
list.add(2,"Yolo");
System.out.println(list);
System.out.println(list.isEmpty());
list.clear();
System.out.println(list.isEmpty());
}
输出结果:
原型:List subList(int FromIndex,int toIndex) — 截取部分 list . 包含下标为 fraoIndex的元素,不包含下标为toIndex的元素
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Yolo");
list.add("Java");
list.add(2,"Yolo");
System.out.println(list);
System.out.println(list.subList(0, 2));
}
输出结果:
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Yolo");
list.add("Java");
list.add(2,"Yolo");
System.out.println(list);
for(String s : list){
System.out.println(s);
}
}
输出结果:
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Yolo");
list.add("Java");
list.add(2,"Yolo");
System.out.println(list);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
输出结果:
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Cpp");
list.add("Java");
list.add("Python");
list.add("C#");
System.out.println(list);
//拷贝一份 list,即:将list拷贝一份给list2
List<String> list2 = new ArrayList<>(list);
System.out.println(list2);
}
思考: 此处为深拷贝还是浅拷贝?
首先,想到的就是 修改 list 的元素,查看 list2 中是否发生改变
List<String> list2 = new ArrayList<>(list);
System.out.println("拷贝了一份list:");
System.out.println(list2);
list.set(0,"PHP");
System.out.println(list2);
在此处,并不可行,因为在Java中,String类是不可变的
验证是否为深拷贝 需要给 list 泛型参数填一个可变对象的类型才可以,此处也可使用StringBulider
注意: set 和 get,对于 LinkedList 和 ArrayList均有效 若是ArrayList随机访问比较高效,若是LinkedList这样的操作比较低效
以上是脚本宝典为你收集整理的Java—List的使用【数据结构】全部内容,希望文章能够帮你解决Java—List的使用【数据结构】所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。