没有合适的资源?快使用搜索试试~ 我知道了~
首页JAVA精华笔记:初学者指南
"网络牛人分享的JAVA精华学习笔记,适合初学者掌握JAVA基础知识"
这篇JAVA精华笔记主要面向初学者,旨在帮助他们快速理解并掌握JAVA编程语言的基础概念和核心特性。笔记内容涵盖了JAVASE部分,特别是深入探讨了JAVA API,尤其是`java.lang`包中的重要类。
首先,笔记强调了`java.lang`包的重要性,因为其中包含了一些基础且常用的类,如`String`和`StringBuffer`。在JAVA中,`String`类用于表示不可变的字符串,一旦创建,其内容就不能修改。这在处理字符串拼接或频繁修改时可能会导致性能问题,因为每次修改都会创建新的对象。而`StringBuffer`类则提供了可变的字符串,允许在不创建新对象的情况下进行追加或修改,因此在需要多次修改字符串的场景下更为高效。
笔记中提到,`String`类的实例化可以通过直接赋值或使用`new StringBuffer()`后调用`append()`方法来实现。例如,`String x="a"+4+"c"`在编译时会被优化为使用`StringBuffer`,避免了不必要的对象创建。这展示了JAVA编译器对字符串连接的智能处理。
另外,笔记还提到了字符串常量的概念,如`String s1="hello"`。在JAVA中,字符串字面量是存储在常量池中的,它们是共享的匿名对象,这意味着多个相同的字符串字面量引用的是同一个内存地址,这样可以节省内存。
在深入学习JAVA API时,`String`类的方法如`length()`, `charAt()`, `substring()`, `compareTo()`等都是重要的知识点,它们用于操作和比较字符串。而`StringBuffer`类也有类似的方法,如`append()`, `insert()`, `delete()`等,这些方法使得在处理字符串时更加灵活。
此外,对于初学者来说,理解JAVA的基础语法,如变量声明、控制流(if-else, for, while)、类和对象、继承、接口、异常处理等也是至关重要的。这些构成了JAVA编程的基础框架,是后续深入学习多线程、集合框架、IO流、网络编程等高级主题的基础。
这份JAVA精华笔记为初学者提供了一个良好的起点,通过学习这些基础知识,他们能够逐步构建起JAVA编程的体系,为进一步深入学习和实践JAVA技术打下坚实的基础。
Local
Local
Local
Local 类提供了大量的常量供用户创建 Locale
Locale
Locale
Locale 对象。
例 Locale.CHINA
Locale.CHINA
Locale.CHINA
Locale.CHINA
为中国创建一个 Locale
Locale
Locale
Locale 的对象。
类 TimeZone
TimeZone
TimeZone
TimeZone 和类 Locale
Locale
Locale
Locale 中的其它方法,读者可查阅 API
API
API
API 。
(5)public
(5)public
(5)public
(5)public GregorianCalendar(int
GregorianCalendar(int
GregorianCalendar(int
GregorianCalendar(int year,int
year,int
year,int
year,int month,int
month,int
month,int
month,int date)
date)
date)
date)
(6)public
(6)public
(6)public
(6)public GregorianCalendar(int
GregorianCalendar(int
GregorianCalendar(int
GregorianCalendar(int year,int
year,int
year,int
year,int month,int
month,int
month,int
month,int date,int
date,int
date,int
date,int hour ,int
hour ,int
hour ,int
hour ,int minute)
minute)
minute)
minute)
(7)public
(7)public
(7)public
(7)public GregorianCalendar(int
GregorianCalendar(int
GregorianCalendar(int
GregorianCalendar(int year,int
year,int
year,int
year,int month,int
month,int
month,int
month,int date,int
date,int
date,int
date,int hour ,int
hour ,int
hour ,int
hour ,int minute,int
minute,int
minute,int
minute,int second)
second)
second)
second)
用给定的日期和时间创建一个 GregorianCalendar
GregorianCalendar
GregorianCalendar
GregorianCalendar 的对象。
参数说明:
year-
year-
year-
year- 设定日历对象的变量 YEAR
YEAR
YEAR
YEAR ; month-
month-
month-
month- 设定日历对象的变量 MONTH
MONTH
MONTH
MONTH ;
date-
date-
date-
date- 设定日历对象的变量 DATE
DATE
DATE
DATE ; hour-
hour-
hour-
hour- 设定日历对象的变量 HOUR_OF_DAY
HOUR_OF_DAY
HOUR_OF_DAY
HOUR_OF_DAY ;
minute-
minute-
minute-
minute- 设定日历对象的变量 MINUTE
MINUTE
MINUTE
MINUTE ; second-
second-
second-
second- 设定日历对象的变量 SECOND
SECOND
SECOND
SECOND 。
与 Date
Date
Date
Date 类中不同的是 year
year
year
year 的值没有 1900
1900
1900
1900 这个下限,而且 year
year
year
year 的值代表实际的年份。 month
month
month
month 的含义与 Date
Date
Date
Date 类相同, 0
0
0
0 代
表 1
1
1
1 月, 11
11
11
11 代表 12
12
12
12 月。
例 GregorianCalendar
GregorianCalendar
GregorianCalendar
GregorianCalendar cal=new
cal=new
cal=new
cal=new GregorianCalendar(1991,2,4)
GregorianCalendar(1991,2,4)
GregorianCalendar(1991,2,4)
GregorianCalendar(1991,2,4)
cal
cal
cal
cal 的日期为 1991
1991
1991
1991 年 3
3
3
3 月 4
4
4
4 号。
除了与 Date
Date
Date
Date 中类似的方法外, Calendar
Calendar
Calendar
Calendar 类还提供了有关方法对日历进行滚动计算和数学计算。计算规则由给定的日历系
统决定。进行日期计算时,有时会遇到信息不足或信息不实等特殊情况。 Calendar
Calendar
Calendar
Calendar 采取了相应的方法解决这些问题。当信息 不
足时将采用缺省设置,在 GregorianCalendar
GregorianCalendar
GregorianCalendar
GregorianCalendar 类中缺省设置一般为 YEAR=1970,MONTH=JANUARY,DATE=1
YEAR=1970,MONTH=JANUARY,DATE=1
YEAR=1970,MONTH=JANUARY,DATE=1
YEAR=1970,MONTH=JANUARY,DATE=1 。
当信息不实时, Calendar
Calendar
Calendar
Calendar 将按下面的次序优先选择相应的 Calendar
Calendar
Calendar
Calendar 的变量组合,并将其它有冲突的信息丢弃。
MONTH+DAY_OF_MONTH
MONTH+DAY_OF_MONTH
MONTH+DAY_OF_MONTH
MONTH+DAY_OF_MONTH
MONTH+WEEK_OF_MONTH+DAY_OF_WEEK
MONTH+WEEK_OF_MONTH+DAY_OF_WEEK
MONTH+WEEK_OF_MONTH+DAY_OF_WEEK
MONTH+WEEK_OF_MONTH+DAY_OF_WEEK
MONTH+DAY_OF_WEEK_OF_MONTH+DAY_OF_WEEK
MONTH+DAY_OF_WEEK_OF_MONTH+DAY_OF_WEEK
MONTH+DAY_OF_WEEK_OF_MONTH+DAY_OF_WEEK
MONTH+DAY_OF_WEEK_OF_MONTH+DAY_OF_WEEK
DAY_OF+YEAR
DAY_OF+YEAR
DAY_OF+YEAR
DAY_OF+YEAR
DAY_OF_WEEK_WEEK_OF_YEAR
DAY_OF_WEEK_WEEK_OF_YEAR
DAY_OF_WEEK_WEEK_OF_YEAR
DAY_OF_WEEK_WEEK_OF_YEAR
HOUR_OF_DAY
HOUR_OF_DAY
HOUR_OF_DAY
HOUR_OF_DAY
1.1.2.1.3
1.1.2.1.3
1.1.2.1.3
1.1.2.1.3 随机数类
随机数类
随机数类
随机数类 Random
Random
Random
Random
Java
Java
Java
Java 实用工具类库中的类 java.util.Random
java.util.Random
java.util.Random
java.util.Random 提供了产生各种类型随机数的方法。它可以产生 int
int
int
int 、 long
long
long
long 、 float
float
float
float 、 double
double
double
double 以
及 Goussian
Goussian
Goussian
Goussian 等类型的随机数。 这也是它与 java.lang.Math
java.lang.Math
java.lang.Math
java.lang.Math 中的方法 Random()
Random()
Random()
Random() 最大的不同之处, 后者只产生 double
double
double
double 型的随机
数。
类 Random
Random
Random
Random 中的方法十分简单,它只有两个构造方法和六个普通方法。
构造方法:
(1)public
(1)public
(1)public
(1)public Random()
Random()
Random()
Random()
(2)public
(2)public
(2)public
(2)public Random(long
Random(long
Random(long
Random(long seed)
seed)
seed)
seed)
Java
Java
Java
Java 产生随机数需要有一个基值 seed
seed
seed
seed ,在第一种方法中基值缺省,则将系统时间作为 seed
seed
seed
seed 。
普通方法:
(1)public
(1)public
(1)public
(1)public synonronized
synonronized
synonronized
synonronized void
void
void
void setSeed(long
setSeed(long
setSeed(long
setSeed(long seed)
seed)
seed)
seed)
该方法是设定基值 seed
seed
seed
seed 。
(2)public
(2)public
(2)public
(2)public int
int
int
int nextInt()
nextInt()
nextInt()
nextInt()
该方法是产生一个整型随机数。
(3)public
(3)public
(3)public
(3)public long
long
long
long nextLong()
nextLong()
nextLong()
nextLong()
该方法是产生一个 long
long
long
long 型随机数。
(4)public
(4)public
(4)public
(4)public float
float
float
float nextFloat()
nextFloat()
nextFloat()
nextFloat()
该方法是产生一个 Float
Float
Float
Float 型随机数。
(5)public
(5)public
(5)public
(5)public double
double
double
double nextDouble()
nextDouble()
nextDouble()
nextDouble()
该方法是产生一个 Double
Double
Double
Double 型随机数。
(6)public
(6)public
(6)public
(6)public synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed double
double
double
double nextGoussian()
nextGoussian()
nextGoussian()
nextGoussian()
该方法是产生一个 double
double
double
double 型的 Goussian
Goussian
Goussian
Goussian 随机数。
例 1.2
1.2
1.2
1.2 RandomApp.java
RandomApp.java
RandomApp.java
RandomApp.java 。
//import
//import
//import
//import java.lang.*;
java.lang.*;
java.lang.*;
java.lang.*;
import
import
import
import java.util.Random;
java.util.Random;
java.util.Random;
java.util.Random;
public
public
public
public class
class
class
class RandomApp{
RandomApp{
RandomApp{
RandomApp{
public
public
public
public static
static
static
static void
void
void
void main(String
main(String
main(String
main(String args[]){
args[]){
args[]){
args[]){
Random
Random
Random
Random ran1=new
ran1=new
ran1=new
ran1=new Random();
Random();
Random();
Random();
Random
Random
Random
Random ran2=new
ran2=new
ran2=new
ran2=new Random(12345);
Random(12345);
Random(12345);
Random(12345);
//
//
//
// 创建了两个类 Random
Random
Random
Random 的对象。
System.out.println("The
System.out.println("The
System.out.println("The
System.out.println("The 1st
1st
1st
1st set
set
set
set of
of
of
of random
random
random
random numbers:");
numbers:");
numbers:");
numbers:");
System.out.println("\t
System.out.println("\t
System.out.println("\t
System.out.println("\t Integer:"+ran1.nextInt());
Integer:"+ran1.nextInt());
Integer:"+ran1.nextInt());
Integer:"+ran1.nextInt());
System.out.println("\t
System.out.println("\t
System.out.println("\t
System.out.println("\t Long:"+ran1.nextLong());
Long:"+ran1.nextLong());
Long:"+ran1.nextLong());
Long:"+ran1.nextLong());
System.out.println("\t
System.out.println("\t
System.out.println("\t
System.out.println("\t Float:"+ran1.nextFloat());
Float:"+ran1.nextFloat());
Float:"+ran1.nextFloat());
Float:"+ran1.nextFloat());
System.out.println("\t
System.out.println("\t
System.out.println("\t
System.out.println("\t Double:"+ran1.nextDouble());
Double:"+ran1.nextDouble());
Double:"+ran1.nextDouble());
Double:"+ran1.nextDouble());
System.out.println("\t
System.out.println("\t
System.out.println("\t
System.out.println("\t Gaussian:"+ran1.nextGaussian());
Gaussian:"+ran1.nextGaussian());
Gaussian:"+ran1.nextGaussian());
Gaussian:"+ran1.nextGaussian());
//
//
//
// 产生各种类型的随机数
System.out.print("The
System.out.print("The
System.out.print("The
System.out.print("The 2nd
2nd
2nd
2nd set
set
set
set of
of
of
of random
random
random
random numbers:");
numbers:");
numbers:");
numbers:");
for(int
for(int
for(int
for(int i=0;i<5;i++){
i=0;i<5;i++){
i=0;i<5;i++){
i=0;i<5;i++){
System.out.println(ran2.nextInt()+"
System.out.println(ran2.nextInt()+"
System.out.println(ran2.nextInt()+"
System.out.println(ran2.nextInt()+" ");
");
");
");
if(i==2)
if(i==2)
if(i==2)
if(i==2) System.out.println();
System.out.println();
System.out.println();
System.out.println();
//
//
//
// 产生同种类型的不同的随机数。
System.out.println();//
System.out.println();//
System.out.println();//
System.out.println();// 原文如此
}
}
}
}
}
}
}
}
}
}
}
}
运行结果:
E:\java01>java
E:\java01>java
E:\java01>java
E:\java01>java RandomApp
RandomApp
RandomApp
RandomApp
The
The
The
The 1st
1st
1st
1st set
set
set
set of
of
of
of random
random
random
random numbers:
numbers:
numbers:
numbers:
Integer:-173899656
Integer:-173899656
Integer:-173899656
Integer:-173899656
Long:8056223819738127077
Long:8056223819738127077
Long:8056223819738127077
Long:8056223819738127077
Float:0.6293638
Float:0.6293638
Float:0.6293638
Float:0.6293638
Double:0.7888394520265607
Double:0.7888394520265607
Double:0.7888394520265607
Double:0.7888394520265607
Gaussian:0.5015701094568733
Gaussian:0.5015701094568733
Gaussian:0.5015701094568733
Gaussian:0.5015701094568733
The
The
The
The 2nd
2nd
2nd
2nd set
set
set
set of
of
of
of random
random
random
random numbers:1553932502
numbers:1553932502
numbers:1553932502
numbers:1553932502
-2090749135
-2090749135
-2090749135
-2090749135
-287790814
-287790814
-287790814
-287790814
-355989640
-355989640
-355989640
-355989640
-716867186
-716867186
-716867186
-716867186
E:\java01>
E:\java01>
E:\java01>
E:\java01>
1.1.2.1.4
1.1.2.1.4
1.1.2.1.4
1.1.2.1.4 向量类
向量类
向量类
向量类 Vector
Vector
Vector
Vector
Java.util.Vector
Java.util.Vector
Java.util.Vector
Java.util.Vector 提供了向量 (Vector)
(Vector)
(Vector)
(Vector) 类以实现类似动态数组的功能。在 Java
Java
Java
Java 语言中。正如在一开始就提到过,是没有指针
概念的,但如果能正确灵活地使用指针又确实可以大大提高程序的质量,比如在 C
C
C
C 、 C++
C++
C++
C++ 中所谓 “
“
“
“ 动态数组 ”
”
”
” 一般都由指针来实
现。为了弥补这点缺陷, Java
Java
Java
Java 提供了丰富的类库来方便编程者使用, Vector
Vector
Vector
Vector 类便是其中之一。事实上,灵活使用数组也可完 成
向量类的功能,但向量类中提供的大量方法大大方便了用户的使用。
创建了一个向量类的对象后,可以往其中随意地插入不同的类的对象,既不需顾及类型也不需预先选定向量的容量,并可
方便地进行查找。对于预先不知或不愿预先定义数组大小,并需频繁进行查找、插入和删除工作的情况,可以考虑使用向量类
。
向量类提供了三种构造方法:
public
public
public
public vector()
vector()
vector()
vector()
public
public
public
public vector(int
vector(int
vector(int
vector(int initialc apacity,int
initialc apacity,int
initialc apacity,int
initialc apacity,int capacityIncrement)
capacityIncrement)
capacityIncrement)
capacityIncrement)
public
public
public
public vector(int
vector(int
vector(int
vector(int initialc apacity)
initialc apacity)
initialc apacity)
initialc apacity)
使用第一种方法,系统会自动对向量对象进行管理。若使用后两种方法,则系统将根据参数 initialc apacity
initialc apacity
initialc apacity
initialc apacity 设定向量对象 的
容量 (
(
(
( 即向量对象可存储数据的大小 )
)
)
) ,当真正存放的数据个数超过容量时,系统会扩充向量对象的存储容量。参数
capacityIncrement
capacityIncrement
capacityIncrement
capacityIncrement 给定了每次扩充的扩充值。当 capacityIncrement
capacityIncrement
capacityIncrement
capacityIncrement 为 0
0
0
0 时,则每次扩充一倍。利用这个功能可以优化存储。
在 Vector
Vector
Vector
Vector 类中提供了各种方法方便用户使用:
■
■
■
■ 插入功能
(1)public
(1)public
(1)public
(1)public final
final
final
final synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed void
void
void
void addElement(Object
addElement(Object
addElement(Object
addElement(Object obj)
obj)
obj)
obj)
将 obj
obj
obj
obj 插入向量的尾部。 obj
obj
obj
obj 可以是任何类的对象。对同一个向量对象,可在其中插入不同类的对象。但插入的应是对象 而
不是数值,所以插入数值时要注意将数值转换成相应的对象。
例 要插入一个整数 1
1
1
1 时,不要直接调用 v1.addElement(1)
v1.addElement(1)
v1.addElement(1)
v1.addElement(1) ,正确的方法为:
Vector
Vector
Vector
Vector v1=new
v1=new
v1=new
v1=new Vector();
Vector();
Vector();
Vector();
Integer
Integer
Integer
Integer integer1=new
integer1=new
integer1=new
integer1=new Integer(1);
Integer(1);
Integer(1);
Integer(1);
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
(2)public
(2)public
(2)public
(2)public final
final
final
final synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed void
void
void
void setElementAt(object
setElementAt(object
setElementAt(object
setElementAt(object obj,int
obj,int
obj,int
obj,int inde x)
index)
index)
index)
将 index
index
index
index 处的对象设成 obj
obj
obj
obj ,原来的对象将被覆盖。
(3)public
(3)public
(3)public
(3)public final
final
final
final synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed void
void
void
void insertElementAt(Object
insertElementAt(Object
insertElementAt(Object
insertElementAt(Object obj,int
obj,int
obj,int
obj,int index)
index)
index)
index)
在 index
index
index
index 指定的位置插入 obj
obj
obj
obj ,原来对象以及此后的对象依次往后顺延。
■
■
■
■ 删除功能
(1)public
(1)public
(1)public
(1)public final
final
final
final synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed void
void
void
void removeElement(Object
removeElement(Object
removeElement(Object
removeElement(Object obj)
obj)
obj)
obj)
从向量中删除 obj
obj
obj
obj 。若有多个存在,则从向量头开始试,删除找到的第一个与 obj
obj
obj
obj 相同的向量成员。
(2)public
(2)public
(2)public
(2)public final
final
final
final synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed void
void
void
void removeAllElement()
removeAllElement()
removeAllElement()
removeAllElement()
删除向量中所有的对象。
(3)public
(3)public
(3)public
(3)public final
final
final
final synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed void
void
void
void removeElementlAt(int
removeElementlAt(int
removeElementlAt(int
removeElementlAt(int index)
index)
index)
index)
删除 index
index
index
index 所指的地方的对象。
■
■
■
■ 查询搜索功能
(1)public
(1)public
(1)public
(1)public final
final
final
final int
int
int
int indexOf(Object
indexOf(Object
indexOf(Object
indexOf(Object obj)
obj)
obj)
obj)
从向量头开始搜索 obj
obj
obj
obj
,
,
,
,
返回所遇到的第一个 obj
obj
obj
obj 对应的下标,若不存在此 obj
obj
obj
obj ,返回 -1
-1
-1
-1 。
(2)public
(2)public
(2)public
(2)public final
final
final
final synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed int
int
int
int indexOf(Object
indexOf(Object
indexOf(Object
indexOf(Object obj,int
obj,int
obj,int
obj,int index)
index)
index)
index)
从 index
index
index
index 所表示的下标处开始搜索 obj
obj
obj
obj 。
(3)public
(3)public
(3)public
(3)public final
final
final
final int
int
int
int lastInde xOf(Object
lastIndexOf(Object
lastIndexOf(Object
lastIndexOf(Object obj)
obj)
obj)
obj)
从向量尾部开始逆向搜索 obj
obj
obj
obj 。
(4)public
(4)public
(4)public
(4)public final
final
final
final synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed int
int
int
int lastInde xOf(Object
lastIndexOf(Object
lastIndexOf(Object
lastIndexOf(Object obj,int
obj,int
obj,int
obj,int index)
index)
index)
index)
从 index
index
index
index 所表示的下标处由尾至头逆向搜索 obj
obj
obj
obj 。
(5)public
(5)public
(5)public
(5)public final
final
final
final synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed Object
Object
Object
Object firstElement()
firstElement()
firstElement()
firstElement()
获取向量对象中的首个 obj
obj
obj
obj 。
(6)public
(6)public
(6)public
(6)public final
final
final
final synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed Object
Object
Object
Object lastelement()
lastelement()
lastelement()
lastelement()
获取向量对象中的最后一个 obj
obj
obj
obj 。
了解了向量的最基本的方法后,我们来看一下例 8.3VectorApp.java
8.3VectorApp.java
8.3VectorApp.java
8.3VectorApp.java 。
例 1.3
1.3
1.3
1.3 VectorApp.java
VectorApp.java
VectorApp.java
VectorApp.java 。
import
import
import
import java.util.Vector;
java.util.Vector;
java.util.Vector;
java.util.Vector;
import
import
import
import java.lang.*;//
java.lang.*;//
java.lang.*;//
java.lang.*;// 这一句不应该要,但原文如此
import
import
import
import java.util.Enumeration;
java.util.Enumeration;
java.util.Enumeration;
java.util.Enumeration;
public
public
public
public class
class
class
class VectorApp{
VectorApp{
VectorApp{
VectorApp{
public
public
public
public static
static
static
static void
void
void
void main(String[]
main(String[]
main(String[]
main(String[] args){
args){
args){
args){
Vector
Vector
Vector
Vector v1=new
v1=new
v1=new
v1=new Vector();
Vector();
Vector();
Vector();
Integer
Integer
Integer
Integer integer1=new
integer1=new
integer1=new
integer1=new Integer(1);
Integer(1);
Integer(1);
Integer(1);
v1.addElement("one");
v1.addElement("one");
v1.addElement("one");
v1.addElement("one");
//
//
//
// 加入的为字符串对象
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
//
//
//
// 加入的为 Integer
Integer
Integer
Integer 的对象
v1.addElement("two");
v1.addElement("two");
v1.addElement("two");
v1.addElement("two");
v1.addElement(new
v1.addElement(new
v1.addElement(new
v1.addElement(new Integer(2));
Integer(2));
Integer(2));
Integer(2));
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
v1.addElement(integer1);
System.out.println("The
System.out.println("The
System.out.println("The
System.out.println("The vector
vector
vector
vector v1
v1
v1
v1 is:\n\t"+v1);
is:\n\t"+v1);
is:\n\t"+v1);
is:\n\t"+v1);
//
//
//
// 将 v1
v1
v1
v1 转换成字符串并打印
v1.insertElementAt("three",2);
v1.insertElementAt("three",2);
v1.insertElementAt("three",2);
v1.insertElementAt("three",2);
v1.insertElementAt(new
v1.insertElementAt(new
v1.insertElementAt(new
v1.insertElementAt(new Float(3.9),3);
Float(3.9),3);
Float(3.9),3);
Float(3.9),3);
System.out.println("The
System.out.println("The
System.out.println("The
System.out.println("The vector
vector
vector
vector v1(used
v1(used
v1(used
v1(used method
method
method
method insertElementAt())
insertElementAt())
insertElementAt())
insertElementAt()) is:\n\t
is:\n\t
is:\n\t
is:\n\t "+v1);
"+v1);
"+v1);
"+v1);
//
//
//
// 往指定位置插入新的对象,指定位置后的对象依次往后顺延
v1.setElementAt("four",2);
v1.setElementAt("four",2);
v1.setElementAt("four",2);
v1.setElementAt("four",2);
System.out.println("The
System.out.println("The
System.out.println("The
System.out.println("The vector
vector
vector
vector v1(used
v1(used
v1(used
v1(used method
method
method
method setElementAt())
setElementAt())
setElementAt())
setElementAt()) is:\n\t
is:\n\t
is:\n\t
is:\n\t "+v1);
"+v1);
"+v1);
"+v1);
//
//
//
// 将指定位置的对象设置为新的对象
v1.removeElement(integer1);
v1.removeElement(integer1);
v1.removeElement(integer1);
v1.removeElement(integer1);
//
//
//
// 从向量对象 v1
v1
v1
v1 中删除对象 integer1
integer1
integer1
integer1 由于存在多个 integer1
integer1
integer1
integer1 所以从头开始
//
//
//
// 找,删除找到的第一个 integer1
integer1
integer1
integer1
Enumeration
Enumeration
Enumeration
Enumeration enum=v1.elements();
enum=v1.elements();
enum=v1.elements();
enum=v1.elements();
System.out.print("The
System.out.print("The
System.out.print("The
System.out.print("The vector
vector
vector
vector v1(used
v1(used
v1(used
v1(used method
method
method
method removeElement())is:");
removeElement())is:");
removeElement())is:");
removeElement())is:");
while(enum.hasMoreElements())
while(enum.hasMoreElements())
while(enum.hasMoreElements())
while(enum.hasMoreElements())
System.out.print(enum.nextElement()+"
System.out.print(enum.nextElement()+"
System.out.print(enum.nextElement()+"
System.out.print(enum.nextElement()+" ");
");
");
");
System.out.println();
System.out.println();
System.out.println();
System.out.println();
//
//
//
// 使用枚举类 (Enumeration)
(Enumeration)
(Enumeration)
(Enumeration) 的方法来获取向量对象的每个元素
System.out.println("The
System.out.println("The
System.out.println("The
System.out.println("The position
position
position
position of
of
of
of object
object
object
object 1(top-to-bottom):"
1(top-to-bottom):"
1(top-to-bottom):"
1(top-to-bottom):"
+
+
+
+ v1.indexOf(integer1));
v1.indexOf(integer1));
v1.indexOf(integer1));
v1.indexOf(integer1));
System.out.println("The
System.out.println("The
System.out.println("The
System.out.println("The position
position
position
position of
of
of
of object
object
object
object 1(tottom-to-top):"
1(tottom-to-top):"
1(tottom-to-top):"
1(tottom-to-top):"
+v1.lastIndexOf(integer1));
+v1.lastIndexOf(integer1));
+v1.lastIndexOf(integer1));
+v1.lastIndexOf(integer1));
//
//
//
// 按不同的方向查找对象 integer1
integer1
integer1
integer1 所处的位置
v1.setSize(4);
v1.setSize(4);
v1.setSize(4);
v1.setSize(4);
System.out.println("The
System.out.println("The
System.out.println("The
System.out.println("The new
new
new
new vector(resized
vector(resized
vector(resized
vector(resized the
the
the
the vector)is:"+v1);
vector)is:"+v1);
vector)is:"+v1);
vector)is:"+v1);
//
//
//
// 重新设置 v1
v1
v1
v1 的大小,多余的元素被行弃
}
}
}
}
}
}
}
}
运行结果:
E:\java01>java
E:\java01>java
E:\java01>java
E:\java01>java VectorApp
VectorApp
VectorApp
VectorApp
The
The
The
The vector
vector
vector
vector v1
v1
v1
v1 is:
is:
is:
is:
[one,
[one,
[one,
[one, 1,
1,
1,
1, 1,
1,
1,
1, two,
two,
two,
two,
2,
2,
2,
2, 1,
1,
1,
1,
1]
1]
1]
1]
The
The
The
The vector
vector
vector
vector v1(used
v1(used
v1(used
v1(used method
method
method
method insertElementAt())
insertElementAt())
insertElementAt())
insertElementAt()) is:
is:
is:
is:
[one,
[one,
[one,
[one, 1,
1,
1,
1, three,
three,
three,
three, 3.9,
3.9,
3.9,
3.9, 1,
1,
1,
1, two,
two,
two,
two,
2,
2,
2,
2, 1,
1,
1,
1,
1]
1]
1]
1]
The
The
The
The vector
vector
vector
vector v1(used
v1(used
v1(used
v1(used method
method
method
method setElementAt())
setElementAt())
setElementAt())
setElementAt()) is:
is:
is:
is:
[one,
[one,
[one,
[one, 1,
1,
1,
1, four,
four,
four,
four, 3.9,
3.9,
3.9,
3.9, 1,
1,
1,
1, two,
two,
two,
two, 2,
2,
2,
2, 1,
1,
1,
1, 1]
1]
1]
1]
The
The
The
The vector
vector
vector
vector v1(used
v1(used
v1(used
v1(used method
method
method
method removeElement())is:one
removeElement())is:one
removeElement())is:one
removeElement())is:one four
four
four
four 3.9
3.9
3.9
3.9 1
1
1
1 two
two
two
two 2
2
2
2 1
1
1
1 1
1
1
1
The
The
The
The position
position
position
position of
of
of
of object
object
object
object 1(top-to-bottom):3
1(top-to-bottom):3
1(top-to-bottom):3
1(top-to-bottom):3
The
The
The
The position
position
position
position of
of
of
of object
object
object
object 1(tottom-to-top):7
1(tottom-to-top):7
1(tottom-to-top):7
1(tottom-to-top):7
The
The
The
The new
new
new
new vector(resized
vector(resized
vector(resized
vector(resized the
the
the
the vector)is:[one,
vector)is:[one,
vector)is:[one,
vector)is:[one, four,
four,
four,
four, 3.9,
3.9,
3.9,
3.9, 1]
1]
1]
1]
E:\java01>
E:\java01>
E:\java01>
E:\java01>
从例 1.3
1.3
1.3
1.3 运行的结果中可以清楚地了解上面各种方法的作用,另外还有几点需解释。
(1)
(1)
(1)
(1) 类 Vector
Vector
Vector
Vector 定义了方法
public
public
public
public final
final
final
final int
int
int
int size()
size()
size()
size()
此方法用于获取向量元素的个数。它的返回值是向是中实际存在的元素个数,而非向量容量。可以调用方法 capactly()
capactly()
capactly()
capactly() 来 获
取容量值。
方法:
public
public
public
public final
final
final
final synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed void
void
void
void setsize(int
setsize(int
setsize(int
setsize(int newsize)
newsize)
newsize)
newsize)
此方法用来定义向量大小。若向量对象现有成员个数已超过了 newsize
newsize
newsize
newsize 的值,则超过部分的多余元素会丢失。
(2)
(2)
(2)
(2) 程序中定义了 Enumeration
Enumeration
Enumeration
Enumeration 类的一个对象
Enumeration
Enumeration
Enumeration
Enumeration 是 java.util
java.util
java.util
java.util 中的一个接口类,在 Enumeration
Enumeration
Enumeration
Enumeration 中封装了有关枚举数据集合的方法。
在 Enumeration
Enumeration
Enumeration
Enumeration 中提供了方法 hawMoreElement()
hawMoreElement()
hawMoreElement()
hawMoreElement() 来判断集合中是束还有其它元素和方法 nextElement()
nextElement()
nextElement()
nextElement() 来获取下一个元素
。
利用这两个方法可以依次获得集合中元素。
Vector
Vector
Vector
Vector 中提供方法:
public
public
public
public final
final
final
final synchroniz ed
synchroniz ed
synchroniz ed
synchroniz ed Enumeration
Enumeration
Enumeration
Enumeration elements()
elements()
elements()
elements()
此方法将向量对象对应到一个枚举类型。 java.util
java.util
java.util
java.util 包中的其它类中也大都有这类方法,以便于用户获取对应的枚举类型。
1.1.2.1.5
1.1.2.1.5
1.1.2.1.5
1.1.2.1.5
栈类
栈类
栈类
栈类 Stack
Stack
Stack
Stack
Stack
Stack
Stack
Stack 类是 Vector
Vector
Vector
Vector 类的子类。它向用户提供了堆栈这种高级的数据结构。栈的基本特性就是先进后出。即先放入栈中的元
素将后被推出。 Stack
Stack
Stack
Stack 类中提供了相应方法完成栈的有关操作。
基本方法:
public
public
public
public Object
Object
Object
Object push(Object
push(Object
push(Object
push(Object Hem)
Hem)
Hem)
Hem)
将 Hem
Hem
Hem
Hem 压入栈中, Hem
Hem
Hem
Hem 可以是任何类的对象。
public
public
public
public Object
Object
Object
Object pop()
pop()
pop()
pop()
弹出一个对象。
public
public
public
public Object
Object
Object
Object peek()
peek()
peek()
peek()
返回栈顶元素,但不弹出此元素。
剩余284页未读,继续阅读
179 浏览量
222 浏览量
点击了解资源详情
点击了解资源详情
2008-09-15 上传
595 浏览量
107 浏览量
chengcheng@2020
- 粉丝: 6
- 资源: 26
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 奇偶校验-WebAssembly低级格式库-Rust开发
- 通过visa控制Agilent信号源
- elves-of-santa-101-global-packaging:如何制作一个全局npm软件包。 Hello World应用程序
- contactForm
- django-project-manager:django中的prosectos实现程序
- 草根域名注册批量查询工具 v8.0
- Javascript-TaskList
- WDD430-Lesson1
- 行业文档-设计装置-面料服装效果图开发平台及呈现方法.zip
- 智睿中小学生学籍信息管理系统 v2.7.0
- test2
- windos 上位机I2C、SPI、GPIO转USB,USB转I2C、SPI、GPIO组件
- skyfn
- ProjectPal:使用Electron制作的CodingProgramming项目经理和Idea Generator
- FE内容付费系统响应式(带手机版) v4.51
- 华峰超纤-300180-一体化超纤革赛道冠军,向高附加值领域延伸成长前景向好.rar
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功