---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
MAP
|-----Hashtable: 底层是哈希表数据结构,不可以存入null键和null值。该线程是同步的,JDK1.0出现,效率低。
|-----HashMap:底层是哈希表数据结构,允许使用null键和null值。该集合线程是不同步的,将Hashtable替代,JDK1.2出现,效率高。
|-----TreeMap:底层是二叉树数据结构,线程不同步,可以用于给Map集合中的键进行排序。
Map和Set集合很像,其实,Set底层就是使用了Map集合。
备注:在添加元素时,如果出现相同的键,那么后添加的值会覆盖原有键对应值。且put方法会返回被覆盖的值。
Map集合的取出原理:将map集合转换成Set集合,在通过迭代器取出。
备注:当数据之间存在隐射关系时,就要想到map集合。
把数组转换成集合的好处:可以使用集合的思想和方法来操作数组中的元素。注意:将数组变成集合,不可以使用集合的增删方法,因为数组的长度是固定的。
如果数组中的元素都是对象,那么变成集合时,数组中的元素就直接转换成集合中的元素。
如果数组中的元素都是基本数据类型,那么会将数组作为集合中的元素存在。
集合变数组:collection接口中的toArray方法。
指定类型的数组到底要定义多长:
当指定类型的数组小于了集合的size,那么该方法内部会创建一个新的数组,长度为集合的size.
当指定类型的数组的长度大于了集合的size,就不会创建一个数组,而是使用传递过来的数组,所以创建一个刚刚好的数组最优。
集合变数组的意思:限定元素的操作,不需要进行增删了。
Runtime对象:该类没有提供构造函数,说明不可以new对象,那么会直接想到该类中的方法都是静态的,发现该类中还有非静态方法,说明该类肯定会提供方法获取本来对象,而且该方法是静态的,并且返回值类型是本类类型,由这个特点可以看出该类是使用了单例设计模式完成。
该方式是:static Runtime getRuntime() ;
Math类的集中常见方法:
Math.ceil():返回大于指定数据的最小整数。
Math.floor(): 返回小于指定数据的最大整数。
Math. round():四舍五入。
Math.raxdom(): 随机数。
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------