List ArrayList Map HashMap_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > List ArrayList Map HashMap

List ArrayList Map HashMap

 2015/1/29 15:24:25  WandyQian  程序员俱乐部  我要评论(0)
  • 摘要:List<UsercardDto>usercardDtos=Lists.newArrayList();List<UsercardDto>usercardDtos1=newArrayList<UsercardDto>();Map<String,Object>param=Maps.newHashMap();Map<String,Object>paraMap=newHashMap<String,Object>()
  • 标签:has Map list Hash
   List<UsercardDto> usercardDtos = Lists.newArrayList();
   List<UsercardDto> usercardDtos1 = new ArrayList<UsercardDto>();
   Map<String,Object> param = Maps.newHashMap();
   Map<String, Object> paraMap = new HashMap<String, Object>();
编程是要面向对象编程,针对抽象(接口),而非具体
    List 是接口,ArrayList是实现
    实现List接口的有ArrayList、LinkedList、Vector等,所以用哪个就直接new 一个接口实现
    这是一种很好的设计模式.一个接口有多种实现,这种写法是java面向对象的一种思想,依赖倒置原则,即依赖于抽象不依赖于实现(具体)。
    给调用者提供的应该是接口或者抽象类,而实现者可以实现或者继承接口或者抽象类来满足调用者,这样调用者不必知道实现者怎样操作,实现者也可以根据具体情况去实现,这样去除了耦合。这就是java设计模式的基础思想之一。
    从Java语法上,这种方式是使用接口引用指向具体实现,这样大大提高了代码使用的灵活性。
    比如,你若希望用LinkedList的实现来替代ArrayList的话,只需改动一行即可:
    List   list   =   new   LinkedList();
    而程序中的其它部分不需要改动,这样比较灵活,不会失去通用性。
    不过有的时候,你如果能确定后边用的全部是ArrayList,最好使用ArrayList list = new ArrayList();
ArrayList   list   =   new   ArrayList()
将ArrayList   改为了List,并且返回了这个List
那么以后用的烦恼就是

[java] view plaincopy
if(list   instanceOf   java.util.ArrayList){  
//do something
}  
 
else   if(list   instanceOf   java.util.LinkedList){    
//error 
}  
 
else   if(list   instanceOf   cn.com.bigc.myList){   
//do;……some   xp   not   defined   in   List  
}  
 
…… 

如果你要想把这个if   else去掉,那么,你还必须再写几个类。呵呵,这样的代价是不值得的。
发表评论
用户名: 匿名