使用Java的好处就是有很多的类可以供我们使用,但是对于一个初学者来说,各种各样的类又会使我们眼花缭乱,感觉就是在抄一遍别人的代码,这些类根本就不知道是什么意思。所以本文希望能够总结一下java中的一些常见的类和他们之间的关系和用法。
如果文中有任何说的不对的地方,请大家指出,因为我也只是一个希望记录自己学习过程的新手。
1 List和Arraylist
List<Integer> result = new ArrayList<Integer>();
for( int i = 0; i<num; i++){
result.add(i);
}
有很多人可能会对这样的写法感到莫名其妙,List为什么要new ArrayList呢。其实这里List是一个接口,ArrayList是实现了List接口的一个类。所示这里是使用了接口回调的技术可以让List接口声明的变量result可以使用List接口的一些方法,这些方法已经被ArrayList类所实现。但是result不能使用ArrayList中特有的方法。好处我知道就是实现List接口的有很多的类,当你想用其他的类的时候,比如LinkedList时候你只需要把ArrayList换成LinkedList就好了。
2017-03-24
综述
最近看了李刚的《疯狂java讲义》,虽然可能和《Thinking in Java》这种神书没办法比,但是还是比较有利于初学者。
在这其中set,list和map都是接口,又对应的实现类来实现这些接口。Set为无序不可重复的集合,List类似可变长的数组。Map由key和value组成。
Collections工具类
Collections中提供了很多方法对List中的元素进行排序,
static void sort(List list):根据元素的自然顺序对List集合中的元素按照升序进行排列。
static void sort(List list, Comparator c):自定义排序方法进行排序。