当前位置:  首页>> 技术小册>> Java语言基础10-Java中的集合

4.2.1 添加元素

  • 在指定的索引位置上添加元素:
  1. void add(int index, E element);
  • 在指定的索引位置上添加另一个集合中的所有元素:
  1. boolean addAll(int index, Collection<? extends E> c);
  • 示例:
  1. package com.github.list.demo1;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. /**
  5. * @author maxiaoke.com
  6. * @version 1.0
  7. */
  8. public class Test {
  9. public static void main(String[] args) {
  10. List<Integer> list = new ArrayList<>();
  11. // 向集合的尾部添加
  12. list.add(1);
  13. list.add(2);
  14. list.add(3);
  15. list.add(4);
  16. System.out.println("list = " + list); // list = [1, 2, 3, 4]
  17. // 在指定的索引上添加元素
  18. list.add(1, 10);
  19. System.out.println("list = " + list); // list = [1, 10, 2, 3, 4]
  20. }
  21. }

示例:

  1. package com.github.list.demo2;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. /**
  5. * @author maxiaoke.com
  6. * @version 1.0
  7. */
  8. public class Test {
  9. public static void main(String[] args) {
  10. List<String> list = new ArrayList<>();
  11. list.add("aa");
  12. list.add("bb");
  13. list.add("cc");
  14. list.add("dd");
  15. System.out.println("list = " + list); // list = [aa, bb, cc, dd]
  16. List<String> list2 = new ArrayList<>();
  17. list2.add("ee");
  18. list2.add("ff");
  19. list.addAll(1, list2);
  20. System.out.println("list = " + list); // list = [aa, ee, ff, bb, cc, dd]
  21. }
  22. }

4.2.2 获取元素

  • 根据索引获取元素:
  1. E get(int index);
  • 根据开始索引和结束索引获取子 List 集合:
  1. List<E> subList(int fromIndex, int toIndex);
  • 示例:
  1. package com.github.list.demo3;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. /**
  5. * @author maxiaoke.com
  6. * @version 1.0
  7. *
  8. */
  9. public class Test {
  10. public static void main(String[] args) {
  11. List<String> list = new ArrayList<>();
  12. list.add("aa");
  13. list.add("bb");
  14. list.add("cc");
  15. list.add("dd");
  16. String s = list.get(1);
  17. System.out.println("s = " + s); // s = bb
  18. }
  19. }

示例:

  1. package com.github.list.demo4;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. /**
  5. * @author maxiaoke.com
  6. * @version 1.0
  7. *
  8. */
  9. public class Test {
  10. public static void main(String[] args) {
  11. List<String> list = new ArrayList<>();
  12. list.add("aa");
  13. list.add("bb");
  14. list.add("cc");
  15. list.add("dd");
  16. System.out.println("list = " + list); // list = [aa, bb, cc, dd]
  17. List<String> list1 = list.subList(1, 3);
  18. System.out.println("list1 = " + list1); // list1 = [bb, cc]
  19. }
  20. }

示例:

  1. package com.github.list.demo5;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. /**
  5. * @author maxiaoke.com
  6. * @version 1.0
  7. *
  8. */
  9. public class Test {
  10. public static void main(String[] args) {
  11. List<String> list = new ArrayList<>();
  12. list.add("aa");
  13. list.add("bb");
  14. list.add("cc");
  15. list.add("dd");
  16. // 遍历List集合
  17. for (int i = 0; i < list.size(); i++) {
  18. System.out.println(list.get(i));
  19. }
  20. }
  21. }

4.2.3 获取元素索引

  • 从前往后根据元素查找其索引,如果找到,返回该元素的索引;否则,返回 -1 :
  1. int indexOf(Object o);
  • 从后往前根据元素查找其索引,如果找到,返回该元素的索引;否则,返回 -1 :
  1. int lastIndexOf(Object o);
  • 示例:
  1. package com.github.list.demo6;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. /**
  5. * @author maxiaoke.com
  6. * @version 1.0
  7. *
  8. */
  9. public class Test {
  10. public static void main(String[] args) {
  11. List<String> list = new ArrayList<>();
  12. list.add("aa");
  13. list.add("bb");
  14. list.add("cc");
  15. list.add("dd");
  16. list.add("aa");
  17. int index = list.indexOf("aa");
  18. System.out.println("index = " + index); // index = 0
  19. int index1 = list.indexOf("ee");
  20. System.out.println("index1 = " + index1); // index1 = -1
  21. }
  22. }

示例:

  1. package com.github.list.demo7;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. /**
  5. * @author maxiaoke.com
  6. * @version 1.0
  7. *
  8. */
  9. public class Test {
  10. public static void main(String[] args) {
  11. List<String> list = new ArrayList<>();
  12. list.add("aa");
  13. list.add("bb");
  14. list.add("cc");
  15. list.add("dd");
  16. list.add("aa");
  17. int index = list.lastIndexOf("aa");
  18. System.out.println("index = " + index); // index = 4
  19. int index1 = list.lastIndexOf("ff");
  20. System.out.println("index1 = " + index1); // index1 = -1
  21. }
  22. }

4.2.4 删除元素

  • 根据索引删除元素,返回删除的元素:
  1. E remove(int index);
  • 示例:
  1. package com.github.list.demo8;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. /**
  5. * @author maxiaoke.com
  6. * @version 1.0
  7. *
  8. */
  9. public class Test {
  10. public static void main(String[] args) {
  11. List<String> list = new ArrayList<>();
  12. list.add("aa");
  13. list.add("bb");
  14. list.add("cc");
  15. list.add("dd");
  16. list.add("aa");
  17. System.out.println("list = " + list); // list = [aa, bb, cc, dd, aa]
  18. String remove = list.remove(2);
  19. System.out.println("remove = " + remove); // remove = cc
  20. System.out.println("list = " + list); // list = [aa, bb, dd, aa]
  21. }
  22. }

4.2.5 替换元素

  • 替换指定索引上的元素:
  1. E set(int index, E element);
  • 示例:
  1. package com.github.list.demo9;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. /**
  5. * @author maxiaoke.com
  6. * @version 1.0
  7. *
  8. */
  9. public class Test {
  10. public static void main(String[] args) {
  11. List<String> list = new ArrayList<>();
  12. list.add("aa");
  13. list.add("bb");
  14. list.add("cc");
  15. list.add("dd");
  16. list.add("aa");
  17. System.out.println("list = " + list); // list = [aa, bb, cc, dd, aa]
  18. list.set(4, "java");
  19. System.out.println("list = " + list); // list = [aa, bb, cc, dd, java]
  20. }
  21. }