java复习(7)---集合类、泛型】的更多相关文章

本节主要结合用例讲述Java中Map类.Set类.List类如何使用. Java中有封装好的集合类,常用的有Map类.Set类.List类,简单说明一下他们的用法. List类,常用有ArrayList和LinkedList,前者存可变数组,相当于数据结构中的顺序表:后者采用链表结构存,相当于单链表. 类方法: add(i).size().get(i).set(i, obj) Set类:常用有HashSet和TreeSet,如名,建哈希表/树存储. 类方法:first().last().subS…
反射 Class类 一个类被类加载器加载到内存之中,占有一片区域,这个空间里的内容就是类的字节码,不同的类的字节码是不一样的,这一个个空间页可以使用类来表示,这就是Class类. 根据这个概念可知:不同类对应的Class类是不一样的,同一类的不同对象对应的Class类则是一样的 九大预定义对象 这九大指的是基本的 Java 类型(boolean.byte.char.short.int.long.float 和 double)和关键字 void 也可以表示为 Class 对象,这里值得注意的一点是…
JAVA泛型的基本使用: /** * JAVA泛型的使用 * 定义:泛型的本质是参数化类型,就是说所操作的数据类型被指定为一个参数. * * 定义泛型方法的规则 * 1.所有泛型方法声明都有一个类型参数声明部分(由尖括号分割),该类型参数声明部分在方法返回类型之前. * 2.类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符. * 3.泛型方法的声明和普通方法一样,需要注意的是类型参数只能代表引用类型,不能是原始类型(像int,char,double,folat等) *…
java 复习001 比较随意的记录下我的java复习笔记 ArrayList 内存扩展方法 分配一片更大的内存空间,复制原有的数据到新的内存中,让引用指向新的内存地址 ArrayList在内存不够时默认是扩展为1.5倍 + 1个 ArrayList,LinkedList,Vector 区别 Vector内存扩展和ArrayList一样,不过Vector是默认扩展为2倍 Vector支持线程的同步,因此牺牲了访问性能 ArrayList,Vector都是使用数组实现,插入删除效率低 Linked…
在面向对象编程语言中,多态算是一种泛化机制.例如,你可以将方法的参数类型设置为基类,那么该方法就可以接受从这个基类中导出的任何类作为参数,这样的方法将会更具有通用性.此外,如果将方法参数声明为接口,将会更加灵活. 一.什么是泛型 在学习泛型之前,我们先看一个实例来真实的体验一下泛型带来的好处? package study.javaenhance; import java.util.ArrayList; import java.util.Collection; public class Gener…
java 复习总结 命名方法 创建文件的名称应该和类的名称一致,不然会报错. 类采用首字母大写的方式来命名,如果是多个单词的类名,则每个单词首字母都大写,例如:HelloWorld . 方法采用驼峰命名法,即第二个字母开头大写. 通常,一个公司使用它互联网域名的颠倒形式来作为它的包名. 抽象类总结规定 抽象类不能被实例化(初学者很容易犯的错),如果被实例化,就会报错,编译无法通过.只有抽象类的非抽象子类可以创建对象. 抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类. 抽象类中的抽象方…
数组和泛型容器有什么区别 要区分数组和泛型容器的功能,这里先要理解三个概念:协变性(covariance).逆变性(contravariance)和无关性(invariant). 若类A是类B的子类,则记作A ≦ B.设有变换f(),若: 当A ≦ B时,有f(A)≦ f(B),则称变换f()具有协变性: 当A ≦ B时,有f(B)≦ f(A),则称变换f()具有逆变性: 如果以上两者皆不成立,则称变换f()具有无关性. 在Java中,数组具有协变性,而泛型具有无关性,示例代码如下: Objec…
由java 复习003跳转过来的C语言实现版见some-sort-algorithms 快速排序(不稳定 O(n log n)) package vell.bibi.sort_algorithms; import vell.bibi.sort_algorithms.util.vell001; public class QuickSort {     public static int partition(int[] a, int low, int high){         int cup;…
[系列说明]java复习系列适宜有过java学习或C++基础或了解java初步知识的人阅读,目的是为了帮助学习过java但是好久没用已经遗忘了的童鞋快速捡起来.或者教给想快速学习java的童鞋如何应用实践.有意见可以直接留言~ 开个博客园脚踏实地一点一点review~ 学了好多语言:C.C++.C#.java.python 不同语言的存在都有它存在的意义,所以学习一门语言一定要了解它和其他语言的区别在哪,这里C++源于C,所以C不列出来比较,C#下段时间复习补上,python学的不好先不比较 重…
package cn.temptation.test; import java.util.ArrayList; import java.util.Iterator; public class Sample01 { public static void main(String[] args) { ArrayList arrayList = new ArrayList(); arrayList.add("中国"); arrayList.add("美国"); // 下句会…