黑马程序员---Java基础总结--泛型

来源:互联网 发布:java教程书籍推荐 编辑:程序博客网 时间:2024/05/19 20:39

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

泛型:JDK1.5版本以后出现的新特性。用于解决安全问题,是一个类型安全机制。

优点:将运行时间出现的问题ClassCastException 转移到了编译时期。让运行时期问题减少。
      避免了强制转换麻烦。
泛型格式:通过<>来定义要操作的引用数据类型。通常在集合框架中很常见。
当类中要操作的引用数据类型不确定的时候,早期定义Object来完成扩展,现在定义泛型来完成扩展。
可以在方法上面定义泛型。例如 public <T> void show(T t){} 这样操作方法时,可以让不同方法操作不同数据类型。
特殊之处:静态方法不可以访问类上定义的泛型。如果静态方法操作的引用数据类型不确定,可以将泛型定义在方法上。public static <M> void method(){};
泛型的通配符<?>也可以理解为占位符 。泛型限定:可以使用<?extends E>意思为E类型或者E的子类型。(上限)<? super E>意思是可以接收E类型或者E类型的父类型。(下限)
Map集合:该集合存储键值对。一对一对的存在,而且要保证键的唯一性。Map包含:Hashtable :底层是哈希表数据结构,不可以存入Null键和Null值。该集合是线程同步的。HashMap:底层是哈希表数据结构。并可以存入NUll键和NUll值。该集合是不同步的。JDK1.2版本之后,效率高。  TreeMap:底层是二叉树数据结构,线程不同步。可以用于给map集合中的键进行排序。Set底层就是使用了Map集合。
map集合的功能:
添加:
put(key ,vlaue)
如果添加时出现相同的键,那么后添加的值会覆盖原有对应的值。并会返回被覆盖的值。
删除:
 clear()
 remove(key)
判断
containsValue(value)
containsKey(Key)
isEmpty
获取
get(key)
size()
values()
entrySet():将map集合中的映射关系取出来,存入到Set集合中。返回为Map.Entry数据类型。Map.Entry接口中含有getkey()和getvalue()方法。
keySet():将map中所有的键存入Set集合,因为set具备迭代器,所有可以迭代方式取出所有的键,再根据get方法,获取每个值。将map集合转成set集合,再通过迭代器取出。
Collections:对集合操作的工具。sort()排序。fill() 将集合中的值全部覆盖成指定元素。
Arrys:对数组进行操作的工具类。里面都是静态方法。可以把数组变成list集合,使用asList()方法,这样可以使用集合的思想和方法对数组进行操作,但是不可以使用集合中的增删方法。因为数组的长度是固定的。如果数组中的元素都是对象,变成集合时,数组中的元素就直接转成集合中的元素。如果数组中的数据类型都是基本数据类型,那么会将该数组作为集合中的元素。
高级for循环:格式:
for(数据类型 变量名:被遍历的集合(Collection)或者数组){}
对集合遍历的时候,只能获取元素,但是不能对集合进行操作。迭代器除了遍历,还可以remove集合中元素的动作。如果使用ListIterator,还可以在遍历的过程中进行增删改查的动作。
可变参数:例如:
public static void show(int...arr)
{
System.out.pritln(arr.length)
}这里在主函数时候就可以调用show方法。show(1,2,3,4)或show(2,3)等元素不确定的数组。使用时注意:可变参数要定义在参数列表的最后面。
StaticImport:静态导入。例如:import static java.util.Arrays.*;//导入的是Arrays这个类中的所有静态成员。
System:描述系统一些信息。类中的方法和属性都是静态的。out:标准输出。int 标准输入。获取系统属性信息:getProperties();它是Hashtable的子类,也就是Map集合中的一个子类对象。可以通过map的方法取出集合中的元素。
Runtime对象,该类没有提供构造函数。说明不可以new对象,但是该类提供了方法获取本类对象,而且该方法是静态的。并返回值类型是本类类型。这个特点说明该类使用了单例设计模式。
该方式为:static Runtime getRuntime();该对象可以启动进程和杀死进程。
Math中 ceil()返回大于指定数据的最小整数。floor() 返回小于指定数据的最大整数。round():四舍五入。pow(a,b)a的b次幂运算。random()随机返回0到1(包含0)直接的伪随机数。

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

0 0
原创粉丝点击