当前位置:   article > 正文

【数据结构初阶】第二节.泛型和List的介绍

【数据结构初阶】第二节.泛型和List的介绍

作者简介:大家好,我是未央;

博客首页:未央.303

系列专栏:Java初阶数据结构

每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!

一、泛型的介绍

二、List的介绍

2.1 什么是List

2.2 ArrayList常见接口介绍

 2.2.2 ArrayList的toArray

总结



前言

本节内容我们将介绍学习数据结构之前要了解掌握的内容,有关泛型和List接口;这个内容为后面数据结构的学习打下了坚实的基础,就让我们一起来认识他们吧!!!!!!!!!!!!


泛型的介绍

由于泛型的内容比较多,我在网上找到了一篇写的很好的泛型文章,如果想要学习有关内容,就去看看看吧!!!!!

链接如下:
传送门:

http://t.csdn.cn/Do4Yw

List的介绍

2.1 什么是List

在这里插入图片描述

List (Java Platform SE 8 ) (list官方文档)

ArrayList (Java Platform SE 8 )ArrayList的官方文档

LinkedList的官方文档


2.2 ArrayList常见接口介绍

ArrayList(线性表)


 2.2.2 ArrayList的toArray

ArrayList提供了一个将List转为数组的一个非常方便的方法toArray。

toArray有两个重载的方法:

(1)list.toArray();

  (2) list.toArray(Tl a);

说明:对于第一个重载方法,是将list直接转为Object[]数组;

第二种方法是将list转化为你所需要类型的数组,当然我们用的时候会转化为与list内容相間的类型


集合转数组用方法
比如:

list.toArray(new String[list.size()])此处要使用包装类;

  1. Integer[] tmp = new Integer[integerList.size()];
  2. integerList.toArray(tmp);

代码示例:

  1. import java.util.List;
  2. import java.util.ArrayList;
  3. import java.util.LinkedList;
  4. public class ListDemo {
  5. public static void main(String[] args) {
  6. List<String> courses = new ArrayList<>();
  7. courses.add("C 语言");
  8. courses.add("Java SE");
  9. courses.add("Java Web");
  10. courses.add("Java EE");
  11. // 和数组一样,允许添加重复元素
  12. courses.add("C 语言");
  13. // 按照添加顺序打印
  14. System.out.println(courses);
  15. // 类似数组下标的方式访问
  16. System.out.println(courses.get(0));
  17. System.out.println(courses);
  18. courses.set(0, "计算机基础");
  19. System.out.println(courses);
  20. // 截取部分 [1, 3)
  21. List<String> subCourses = courses.subList(1, 3);
  22. System.out.println(subCourses);
  23. // 重新构造
  24. List<String> courses2 = new ArrayList<>(courses);
  25. System.out.println(courses2);
  26. List<String> courses3 = new LinkedList<>(courses);
  27. System.out.println(courses3);
  28. // 引用的转换
  29. ArrayList<String> courses4 = (ArrayList<String>)courses2;
  30. System.out.println(courses4);
  31. // LinkedList<String> c = (LinkedList<String>)course2; 错误的类型
  32. LinkedList<String> courses5 = (LinkedList<String>)courses3;
  33. System.out.println(courses5);
  34. // ArrayList<String> c = (ArrayList<String>)course3; 错误的类型
  35. }
  36. }

运行结果:

  1. [C 语言, Java SE, Java Web, Java EE, C 语言]
  2. C 语言
  3. [C 语言, Java SE, Java Web, Java EE, C 语言]
  4. [计算机基础, Java SE, Java Web, Java EE, C 语言]
  5. [Java SE, Java Web]
  6. [计算机基础, Java SE, Java Web, Java EE, C 语言]
  7. [计算机基础, Java SE, Java Web, Java EE, C 语言]
  8. [计算机基础, Java SE, Java Web, Java EE, C 语言]
  9. [计算机基础, Java SE, Java Web, Java EE, C 语言]

总结

前两节内容我们对数据结构的学习做了铺垫,下一节内容我们将进入到数据结构的第一个线性表顺序表的学习当中;让我们一起加油吧!!!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/737074
推荐阅读
相关标签
  

闽ICP备14008679号