ArrayList,LinkedList,Vestor这三个类都实现了javautilList接口,但它们有各自不同的特性,主要如下:
一、同步性
ArrayList,LinkedList是不同步的,而Vestor是的。所以如果要求线程安全的话,可以使用ArrayList或LinkedList,可以节省为同步而耗费开销。但在多线程的情况下,有时候就不得不使用Vector了。当然,也可以通过一些办法包装ArrayList,LinkedList,使他们也达到同步,但效率可能会有所降低。
二、数据增长
从内部实现机制来讲ArrayList和Vector都是使用Objec的数组形式来存储的。当你向这两种类型中增加元素的时候,如果元素的数目超出了内部数组目前的长度它们都需要扩展内部数组的长度,Vector缺省情况下自动增长原来一倍的数组长度,ArrayList是原来的50%,所以最后你获得的这个集合所占的空间总是比你实际需要的要大。所以如果你要在集合中保存大量的数据那么使用Vector有一些优势,因为你可以通过设置集合的初始化大小来避免不必要的资源开销。
三、检索、插入、删除对象的效率
ArrayList和Vector中,从指定的位置(用index)检索一个对象,或在集合的末尾插入、删除一个对象的时间是一样的,可表示为O(1)。但是,如果在集合的其他位置增加或移除元素那么花费的时间会呈线形增长:O(n-i),其中n代表集合中元素的个数,i代表元素增加或移除元素的索引位置。为什么会这样呢?以为在进行上述 *** 作的时候集合中第i和第i个元素之后的所有元素都要执行(n-i)个对象的位移 *** 作。
LinkedList中,在插入、删除集合中任何位置的元素所花费的时间都是一样的—O(1),但它在索引一个元素的时候比较慢,为O(i),其中i是索引的位置。
所以,如果只是查找特定位置的元素或只在集合的末端增加、移除元素,那么使用Vector或ArrayList都可以。如果是对其它指定位置的插入、删除 *** 作,最好选择LinkedList
参考文章:
Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。
注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 javalangannotation 包中。
1、元注解
元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。
11、@Retention: 定义注解的保留策略
@Retention(RetentionPolicySOURCE) //注解仅存在于源码中,在class字节码文件中不包含
@Retention(RetentionPolicyCLASS) // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得,
@Retention(RetentionPolicyRUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取到
12、@Target:定义注解的作用目标
@Target(ElementTypeTYPE) //接口、类、枚举、注解
@Target(ElementTypeFIELD) //字段、枚举的常量
@Target(ElementTypeMETHOD) //方法
@Target(ElementTypePARAMETER) //方法参数
@Target(ElementTypeCONSTRUCTOR) //构造函数
@Target(ElementTypeLOCAL_VARIABLE)//局部变量
@Target(ElementTypeANNOTATION_TYPE)//注解
@Target(ElementTypePACKAGE) ///包
由以上的源码可以知道,他的elementType 可以有多个,一个注解可以为类的,方法的,字段的等等
13、@Document:说明该注解将被包含在javadoc中。
14、@Inherited:说明子类可以继承父类中的该注解。
也不知道你是想问怎么写文档注释,还只是把代码注释一边!
得了我全帮你给整了吧就当练习一次了!
/<P>1编写 Java 程序用于显示人的姓名和年龄。
<P>2定义一个人类Person。 该类中应该有两个[私有]属性:
<P>3姓名 (name) 和年龄 (age) 。
<P>4定义构造方法用来初始化数据成员。
<P>5再定义显示(display()) 方法将姓名和年龄打印出来。
<P>6在 main 方法中创建人类的实例然后将信息显示。
@author 作者名字
@version 版本号
/
package combaiduzq01;//包路径!
class Person //类名!
{
/
私有成员属性!
/
private String name;
private int age;
/
空构造方法
/
public Person()
{
}
/
形参构造方法
@param name 参数name传入值!
@param age 参数age传入值!
/
public Person(String name, int age)
{
thisname = name;
thisage = age;
}
/
对外提供一个获取成员变量name的方法!
@return 返回一个name的值!
/
public String getName()
{
return name;
}
/
对外公开修改成员属性name的值!
@param name 传入一个name值赋给成员变量!
/
public void setName(String name)
{
thisname = name;
}
/
对外提供一个可以获取age值的方法!
@return 返回一个int类型的age
/
public int getAge()
{
return age;
}
/
对外公开修改成员属性age的值!
@param age 传入一个age值赋给成员变量!
/
public void setAge(int age)
{
thisage = age;
}
/
对外提供一个方法获取并打印出成员变量!
/
public void display()
{
Systemoutprintln("我的名字是:"+name+",我今年"+age+"岁了");
}
}
//主类
public class TestPerson
{
public static void main(String[] args)
{
//创建对象,通过形参构造函数,传值初始化来进行创建!
Person p = new Person("张强",6);
//调用对象的display方法!
pdisplay();
}
}
生成的帮助文档我没办法给你啊,给你截图吧!
以上就是关于取得JAVA代码中的注释内容(单行、多行注释)存入一个ArrayList,如何实现!全部的内容,包括:取得JAVA代码中的注释内容(单行、多行注释)存入一个ArrayList,如何实现!、java方法名前注释问题、java程序注释等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)