Collection- List、set-- ArrayList LinkedList Vector,早年笔记

原创 2013年12月02日 20:36:46

注释都写上了,希望能够帮助上搜索的奋斗者,转载务必注明出处http://blog.csdn.net/u013017597/article/details/17079141

ArrayList 1、线程不同步,想要线程同步的话,我们用加锁功能!   2、1.2之后出现,查询速度块,因为用index ,3、容量为10然后50%增加,把以前元素拷过来,然后新元素加载后面 4、内部使用数组实现的,

Vector 1、线程同步,2、但是因为安全机制速度很慢,3、1.0版本就有,还没有数组的时候就存在,4、空间翻倍增加,比较浪费空间


JMSJava Messaging Service)是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简单化企业应用开发,翻译Java消息服务。

 

      JMXJava Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统植入管理功能的框架。

 

      JNDIJava Naming and Directory Interface )一组帮助做多个命名和目录服务接口的AP


Method methodCharAt=String.class.getMethod("charAt"int.class);//获得String对象内部的参赛为int.classcharat()方法

methodCharAt.invoke(str1, 1);   //创建String类型实例对象str1的参数为1的一个charat()方法的对象

System.out.println(methodCharAt.invoke(str1, 1));

str1换为null则表示此methodCharAt是获得的类中的静态方法

System.out.println(methodCharAt.invoke(str1,new Object[]{2}));  //1.4不支持可变参数所以所以这样写


mainMethod=Class.forName(startingClassName).getMethod("main",String[].class);//获得另一个类mian方法返回与带有给定字符串名的类或接口相关联的Class 对象


String [] a4=new String[]{"a","b","c"};

int [] a5=new int[]{1,2,3}; //数组大括号中定义了元素,就不能在中括号中定义数组元素个数

System.out.println(Arrays.asList(a5));//     不调用1.4,调用1.5当做Object,只加把地址打印出来 下面有调用的方法

System.out.println(Arrays.asList(a4));//输出字符串数组[a, b, c]

读取数组中的元素:

实例:

    public static void main(String[] args) throws Exception {

       printObject(new int[]{1,2,3});

       printObject("xyz");

    }

private static void printObject(Object obj) {

       Class clazz=obj.getClass();//得到obj的字节码


       if(clazz.isArray()){//判定此Class 对象是否表示一个数组类

           int len=Array.getLength(obj);//int 形式返回obj数组对象的长度


           for(int i=0;i<len;i++){

              System.out.println(Array.get(obj, i));//获得数组obj的第i个元素

           }

       }else{

           System.out.println(obj);

       }

}


把对象放入HashSet( )类型集合中时,是按哈希值分配内存,一旦对象的某个属性改变了,那么哈希值也跟着变化,注意内存泄露的问题


注解:也是jdk1.5的一个新特性,是一种标记,一种说明,可以在包,类,方法,参数,成员变量等对象或成员之前声明,javac编译器,开发工具和其它程序可以用反射来了解类及各种元素上是否有某种标记,不同的标记响应不同的事件

一个注解就是一个类,我们在这用注解就相当于我们在这实例化了一个对象


Retention类 注解类 是个枚举

注解对象或成员已经过时:加 @SuppressWarnings("deprecation") 设置为仍然可用  source阶段

注解对象或成员过时:加  @Deprecated  设置自己的方法过时提醒调用者  runtime阶段 二进制阶段

注解对象或成员覆盖了其他对应对象或成员:加@Override 可以检查重写父类的方法是不是规范,有没有写错 source阶段

main方法在这个类里面不一定是这个类执行,可以有其他类执行

String name(); 就代表抽象的默认访问修饰的方法

HashSet重复的对象加不进去

HashMap<String,Integer> maps=new HashMap<String,Integer>();//创建HashMap<String,Integer>类型集合
       maps.put("aaa",11);
       maps.put("bbb", 22);
       maps.put("ccc", 33);
       Set<Map.Entry<String,Integer>> entrySet=maps.entrySet();
       for(Map.Entry<String, Integer> entry: entrySet){
           System.out.println(entry.getKey() + ":" + entry.getValue());//适用于map集合的排序输出
       }

银行业务调度系统:终于也看完了,感觉还是很吃力,自己反思可能是因为对Java类的陌生和设计思想的缺乏才会如此,接下来的学习必须加强练习,下面是对视频中几个设计实例的总结。

面向对象分析与设计的案例:

 

人在黑板上画圆:要实现画圆的功能,分析,要画一个圆必须知道圆的圆心和半径,所以这个圆的类中提供对圆心和半径的操作的方法,即画圆的方法,而人和黑板作为参数传入,调用画圆的方法实现画圆这个动作。

 

列车司机紧急刹车:刹车的功能:分析,司机自身没有让车停下来的能力,他只是给了车一个指令,车执行自己的方法停下了,所以创建一个车的类,类中包含停的方法,司机的指令作为参数传入,来调用这个停的方法实现刹车。

 

售货员统计收获小票金额:小票统计功能,分析,创建一个小票的类,类中有一个被打印的方法,金额和售货员作为参数传入,调用打印的方法来实现统计功能。

你把门关上了:关门的功能:分析,门自己有一个关的方法,人作为参数传入调用关的方法实现关门的动作。

 

两块石头磨成一把石刀,石刀可以砍树,砍成木材,木材做成椅子:分析,石刀是一个不变的元素,所以他包含有磨的方法和砍的方法,石头和树作为参数传入,分别调用磨和砍的方法实现磨和砍的动作,同时返回一把石刀和木材,椅子自身有个做的方法,木材作为参数传入,调用做的方法,返回一把椅子。

 

球从一根绳子的一端移动到了另一端:分析,绳子自身由个点组成,他有标志位置的一个方法;球自身有一个移动的方法;整个移动的动作就是,绳子的上的一个点作为参数传入球的移动的方法球开始移动,移动后返回移动后的这个点,这个点作为参数传入调用绳子的标志位置的方法,返回球的位置


注释都写上了,希望能够帮助上搜索的奋斗者,转载务必注明出处http://blog.csdn.net/u013017597/article/details/17079141

Java进阶(四十六)简述ArrayList、Vector与LinkedList的异同点

简述ArrayList、Vector与LinkedList的异同点  Collection类的继承图如下:   从图中可以看出,LinkedList与ArrayList、ArrayDeque这三者都...
  • sunhuaqiang1
  • sunhuaqiang1
  • 2016年10月08日 20:27
  • 43839

java的list几种实现方式的效率(ArrayList、LinkedList、Vector、Stack),以及 java时间戳的三种获取方式比较

一、list简介List列表类,顺序存储任何对象(顺序不变),可重复。 List是继承于Collection的接口,不能实例化。实例化可以用: ArrayList(实现动态数组),查询快(随意...
  • longshenlmj
  • longshenlmj
  • 2015年06月04日 17:39
  • 4148

Vector,ArrayList,LinkedList 的区别是什么?

简要概括: 1、Vector、ArrayList都是以类似数组的形式存储在内存中,LinkedList则以链表的形式进行存储。 2、List中的元素有序、允许有重复的元素,Set中的元素无序、不允...
  • xuanjiewu
  • xuanjiewu
  • 2016年01月26日 10:21
  • 967

Java ArrayList、LinkedList和Vector的使用及性能分析

第1部分 List概括 List 是一个接口,它继承于Collection的接口。它代表着有序的队列。 AbstractList 是一个抽象类,它继承于AbstractCollection。A...
  • guoweimelon
  • guoweimelon
  • 2016年03月04日 11:01
  • 1616

ArrayList 和 LinkedList 和Vector使用上有什么区别?实现上有什么区别?

ArrayList 和 Vector 使用上有什么区别?实现上有什么区别?Vector和ArrayList在使用上非常相似,都可用来表示一组数量可变的对象应用的集合,并且可以随机地访问其中的元素。 ...
  • u012373815
  • u012373815
  • 2015年11月30日 10:19
  • 1260

数组、ArrayList、LinkedList查询及遍历性能分析 .

最近研究spring框架时,发现它在存储以查询和遍历居多的数据时采用的数组,而不是现在很多书中推荐的List。并且之前也发现tomcat在实现自己的service和connector时,也是多采用数组...
  • mafly008
  • mafly008
  • 2013年10月10日 12:33
  • 1787

一道关于:ArrayList、Vector、LinkedList的存储性能和特性 的面试题

ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢...
  • u014044812
  • u014044812
  • 2015年09月09日 22:46
  • 2113

java集合框架05——ArrayList和LinkedList的区别

前面已经学习完了List部分的源码,主要是ArrayList和LinkedList两部分内容,这一节主要总结下List部分的内容。 List概括 先来回顾一下List在Collection中的的框架图...
  • eson_15
  • eson_15
  • 2016年04月13日 20:39
  • 8834

ArrayList和LinkedList的几种循环遍历方式及性能对比分析 (十)

ArrayList和LinkedList的几种循环遍历方式及性能对比分析 (十)
  • u014608640
  • u014608640
  • 2016年09月12日 15:09
  • 809

ArrayList与LinkedList底层实现与增删查效率比较

我们知道ArrayList是List接口的一个实现类,它的特点是查询效率高,增删效率低,线程不安全 原因是因为ArrayList底层是封装了一个数组,它是用数组实现的。 看下图,数组在内存中的存储...
  • stanxl
  • stanxl
  • 2015年03月23日 18:41
  • 5710
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Collection- List、set-- ArrayList LinkedList Vector,早年笔记
举报原因:
原因补充:

(最多只允许输入30个字)