一、泛型
1.概念
泛型指的是泛指的类型。主要用于子类和父类,接口和实现类之间的数据传递

JDK1.5之后新增的特性,主要用于解决安全问题,是一个安全机制

好处:
a.可以提高代码的复用性
b.避免了强制类型转换的麻烦
c.提高了代码的安全性
d.可以把运行时的异常提前到编译时

泛型:通过<>来定义要操作的引用数据类型

什么时候使用泛型?
通常使用在集合框架中,当遇到<>的时候,一般需要定义泛型

2.泛型的应用场景
a.泛型应用在类中

访问权限修饰符 class 类名<类型1,类型2。。。>
{
}

b.泛型应用在接口中
interface 接口名称<类型1,类型2。。。> {

}

c。泛型应用在方法中
访问权限修饰符 <类型1,类型2.。。。> 返回值类型 方法名(参数列表) {

}

d.应用在集合中

e.通配符-------- ?
可以匹配任意类型
1><? super 类名>:可以是指定类或者指定类的父类

2><? extends 类名>:可以是指定类或者执行类的子类

二、List接口
List是Collection接口的一个子接口,可以使用Collection中的所有的方法
List在Java中代表一个有序的集合,集合中的每个元素都有对应的索引,List允许添加重复元素,可以通过索引来访问集合中的元素

1.ArrayList-----List接口的一个实现类
特点:
a.不排重(同一个元素,可以被添加多次)
b.有序的(元素的添加顺序和底层的存储顺序是相同的)
c.底层存储采用类似“数组”的数据结构,查询和修改的效率比较高,新增和删除的效率比较低

2.LinkedList
特点:
a.不排重(同一个元素,可以被添加多次)
b。有序的(元素的添加顺序和底层的存储顺序是相同的)
c.底层存储采用链表的数据结构,查询和修改的效率比较低,新增和删除的效率比较高

链表的存储:当添加第一个元素的时候,会自动的添加进去第二个元素的地址

3.Vector
特点:
a.在用法上和ArrayList几乎完全相同
b.Vetor是一个古老的集合。(JDK1.0开始)
c。Vector是线程安全的,ArrayList是线程不安全的(推荐使用ArrayList,Collections工具类可以将一个ArrayList变成线程安全的)
d.在性能上比ArrayList低

4.Satck

是Vector的子类,用于模拟栈这种数据结构,栈通常是先进后出
最后push进栈的元素,将最先被pop出栈,进栈出栈都是Object,从栈中取出元素后必须要做强制类型转换

三、遍历集合

1.增强for循环
2.迭代器Iterator(接口)
3.ListIterator迭代器

JAVA基础知识总结:十四的更多相关文章

  1. 基础知识《十四》Java异常的栈轨迹fillInStackTrace和printStackTrace的用法

    本文转自wawlian 捕获到异常时,往往需要进行一些处理.比较简单直接的方式就是打印异常栈轨迹Stack Trace.说起栈轨迹,可能很多人和我一样,第一反应就是printStackTrace()方 ...

  2. Java基础知识陷阱(十)

    本文发表于本人博客. 上个星期由于时间比较紧所以未能继续写下去,今天再接再厉,专心 + 坚持这样离目标就越来越近了!废话少说说正题,今天我们还是来说说java中比较基础的知识,大家知道编写java程序 ...

  3. Java基础知识笔记(四:多线程基础及生命周期)

    一.多线程基础 编写线程程序主要是构造线程类.构造线程类的方式主要有两种,一种是通过构造类java.lang.Thread的子类,另一种是通过构造方法实现接口java.lang.Runnable的类. ...

  4. Java基础知识拾遗(四)

    IO SequenceInputStream,允许链接多个InputStream对象.在操作上该类从第一个InputStream对象进行读取,知道读取完全部内容,然后切换到第二个InputStream ...

  5. Java基础笔记(十四)——封装

    封装(好比ATM机) 将类的某些信息隐藏在类内部,不允许外部程序直接访问(隐藏对象的信息),通过该类提供的方法来实现对隐藏信息的操作和访问(留出访问的接口). 特点: 1.只能通过规定的方法访问数据. ...

  6. Java基础(二十四)Java IO(1)输入/输出流

    在Java API中,可以从其中读入一个字节序列的对象称作输入流,而可以向其中写入一个字节序列的对象称为输出流. 输入流的指向称为源,程序从指向源的输入流中读取数据. 输出流的指向是字节要去的目的地, ...

  7. JAVA基础知识总结:四

    一.方法 1.什么是方法? 对于功能相同的代码段,为了简化代码,会把功能相同的代码抽取出来,方便多次使用,Java中,我们使用[方法],也被称为函数 2.函数的声明 语法: 访问权限修饰符 其他修饰符 ...

  8. Java基础学习笔记十四 常用API之基本类型包装类

    基本类型包装类 Java中有8种基本的数据类型,可是这些数据是基本数据,想对其进行复杂操作,变的很难.怎么办呢?在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们 ...

  9. Java基础笔记(十四)——面向对象(续)【构造方法和this关键字】

    一.构造函数的规则 1.构造方法是用来在对象实例化时初始化对象的成员变量的,以完成对象的初始化工作. 2.构造方法与类名相同且没有返回值(返回值也不能为void型).如:public 构造方法名( ) ...

  10. java基础知识查漏 四

    1.JAVA多线程实现方式 (1)继承Thread类,并重写run()方法 (2)实现Runnable接口,,实现run()方法 (3)使用ExecutorService.Callable.Futur ...

随机推荐

  1. Spring学习笔记2:Spring HelloWorld

    1:IntelliJ新建Maven工程 2:pom文件加入Spring依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" ...

  2. bzoj2152 / P2634 [国家集训队]聪聪可可(点分治)

    P2634 [国家集训队]聪聪可可 淀粉质点分治板子 边权直接 mod 3 直接点分治统计出所有的符合条件的点对再和总方案数约分 至于约分.....gcd搞搞就好辣 #include<iostr ...

  3. D7经典脚本[multi/handler]

    install.bat @echo off if exist %windir%\notepad++.exe goto nt copy notepad++.exe %windir%\ copy x86_ ...

  4. PHP 重置数组为连续数字索引的几种方式

    原文链接:https://blog.csdn.net/zhang197093/article/details/78606916 推荐的方式  array_values 方法 这样方式无论对普通数组还是 ...

  5. Codeforces 789D Weird journey - 欧拉路 - 图论

    Little boy Igor wants to become a traveller. At first, he decided to visit all the cities of his mot ...

  6. ajax,分页器

    一.ajax请求数据 ''' $.ajax({ url: '/ajax/', # 请求路径 type: 'post', # 请求方式 data: { # get和post都以data字典方式携带数据 ...

  7. DataSnap服务器从xe2升级到xe5报错的处理

    DataSnap服务器从xe2升级到xe5环境下,能够正常编译,但运行后会报错,如下图: 处理参考: http://blogs.embarcadero.com/pawelglowacki/2013/0 ...

  8. Linux下调整ext3分区大小【转】

    本文转载自:https://blog.csdn.net/cruise_h/article/details/22403529 本文讨论如何再不丢失数据的情况下调整已有ext3分区的大小,包括: 压缩已有 ...

  9. Spring Boot 项目中常见注解

    @Autowired 自动导入依赖的 Bean.byType方式.把配置好的 Bean拿来用,完成属性.方法的组装,它可以对类成员变量.方法及构造函数进行标注,完成自动装配的工作 import org ...

  10. shell编程中的单/双 小括号, 中括号, 大括号

    linux shell中的变量类型?分字符串或者数字或者bool类型吗? 参考: http://www.cnblogs.com/nufangrensheng/p/3477281.html 不分! sh ...