java中常用的一些方法

java中常用的一些方法
java中常用的一些方法

java中常用的一些方法

字符串

1、获取字符串的长度

length()

2 、判断字符串的前缀或后缀与已知字符串是否相同

前缀startsWith(String s)

后缀endsWith(String s)

3、比较两个字符串

equals(String s)

4、把字符串转化为相应的数值

int型Integer.parseInt(字符串)

long型Long.parseLong(字符串)

float型Folat.valueOf(字符串).floatValue()

double型Double.valueOf(字符串).doubleValue()

4、将数值转化为字符串

valueOf(数值)

5、字符串检索

indexOf(Srting s) 从头开始检索

indexOf(String s ,int startpoint) 从startpoint处开始检索

如果没有检索到,将返回-1

6、得到字符串的子字符串

substring(int startpoint) 从startpoint处开始获取

substring(int start,int end) 从start到end中间的字符

7、替换字符串中的字符,去掉字符串前后空格

replace(char old,char new) 用new替换old

trim()

8、分析字符串

StringTokenizer(String s) 构造一个分析器,使用默认分隔字符(空格,换行,回车,Tab,进纸符)StringTokenizer(String s,String delim) delim是自己定义的分隔符

nextToken() 逐个获取字符串中的语言符号

boolean hasMoreTokens() 只要字符串还有语言符号将返回true,否则返回false countTokens() 得到一共有多少个语言符号

文本框和文本区

1、文本框

TextField() 构造文本框,一个字符长

TextField(int x) 构造文本框,x个字符长

TextField(String s) 构造文本框,显示s

setText(String s) 设置文本为s

getText() 获取文本

setEchoChar(char c) 设置显示字符为c

setEditable(boolean) 设置文本框是否可以被修改

addActionListener() 添加监视器

removeActionListener() 移去监视器

2、文本区

TextArea() 构造文本区

TextArea(String s) 构造文本区,显示s

TextArea(String s,int x,int y) 构造文本区,x行,y列,显示s

TextArea(int x,int y) 构造文本区,x行,y列

TextArea(String s,int x,ing y,int scrollbar)

scrollbar的值是:

TextArea.SCROLLBARS_BOTH

TextArea.SCROLLBARS_VERTICAL_ONLY

TextArea.SCROLLBARS_HORIZONTAL_ONLY

TextArea.SCROLLBARS_NONE

setText(String s) 设置文本为s

getText() 获取文本

addTextListener() 添加监视器

removeTextListener() 移去监视器

insert(String s,int x) 在x处插入文本s

replaceRange(String s,int x,int y) 用s替换从x到y处的文本append(String s) 在文本的最后追加文本s

Int getCaretPosition(int n) 获取文本区中光标的位置

按钮

1、按钮

Button() 构造按钮

Button(String s) 构造按钮,标签是s

setLabel(String s) 设置按钮标签是s

getLabel() 获取按钮标签

addActionListener() 添加监视器

removeActionListener() 移去监视器

标签

1、标签

Label() 构造标签

Label(String s) 构造标签,显示s

Label(String s,int x)

x是对齐方式,取值:

Label.LEFT

Label.RIGHT

Label.CENTER

setText(String s) 设置文本s

getText() 获取文本

setBackground(Color c) 设置标签背景颜色

setForeground(Color c) 设置字体颜色

选择框

1、选择框

Checkbox() 构造选择框

Checkbox(String s) 构造选择框,给定标题s

Checkbox(String s,boolean b) b设定初始状态

Checkbox(String s,boolean b,CheckboxGroup g) g设定了所属的组(有了组就成为单选框)addItemListener() 添加监视器

removeItemListener() 移去监视器

getState() 返回选择框的是否选中状态

setState(boolean b) 设置选择框的状态

getLabel() 获取选择框的标题

setLabel(String s) 设置选择框的标题为s

选择控件和滚动列表

1、选择控件

Choice() 构造选择控件

add(String s) 向选择控件增加一个选项

addItemListener() 添加监视器

removeItemListener() 移去监视器

getSelectedIndex() 返回当前选项的索引

getSelectedItem() 返回当前选项的字符串代表

insert(String s,int n) 在n处插入选项s

remove(int n)

removeAll()

2、滚动列表

List() 构造滚动列表

List(int n) 参数n是可见行数

List(int n,boolean b) 参数b是设置是否可以多项选择

add(String s) 向列表的结尾增加一个选项

add(String s,int n) 在n处增加一个选项

AddActionListener() 滚动列表添加监视器

addItemListener() 滚动列表上的选项添加监视器

remove(int n) 删除n初的选项

remnoveAll() 删除全部选项

getSelectedIndex() 返回当前选项的索引

getSelectedItem() 返回当前选项的字符串代表

3、组件类的一些常用方法

void setBackground(Color c) 设置组件背景颜色

void setForeground(Color c) 设置组件前景颜色

void setFonts(Font f) 设置组件字体

void setBounds(int x,int y,int w,int h) 设置坐标,x,y表示在容器中坐标,w,h表示宽和高void setLocation(int x,int y) 移动到x,y 处

void setSize(int w,int h) 设置宽和高

void setVisible(boolean b) 设置组建是否可见

int getBounds().wigth 获取宽

int getBounds().height 获取高

int getBounds().x 获取x 坐标

int getBounds().y 获取y 坐标

Toolkit getToolkit() 获取工具包对

void setEnabled(boolean b) 设置是否可以使用(默认可以)

窗口和菜单

1、窗口

Frame() 构造窗口

Frame(String s) 窗口标题是s

setBounds(int x,int y,int w,int h) 窗口位置x,y,宽w,高y setSize(int w,int h) 设置窗口位置(单位是像素)setBackground(Color c) 设置背景颜色

setVisible(boolean b) 设置窗口是否可见

pack() 窗口出现时紧凑

setTitle(String s) 设置标题为s

getTitle() 获取标题

setResizable(boolean b) 设置窗口大小是否可以调整

2、菜单条

Menubar() 构造菜单条

setMenubar() 窗口添加菜单条

3、菜单

Menu() 构造菜单

Menu(String s) 构造菜单,标题s

add

add(MenuItem item) 菜单增加菜单选项item

add(String s) 向菜单增加选项s

getItem(int n) 获取n处的选项

getItemCount() 获取选项数目

insert(MenuItem item,int n) 在n处插入菜单选项item insert(String s,int n) 在n处插入菜单选项

remove(int n) 删除菜单的n处的菜单选项

removeAll() 删除全部

4、菜单项

MenuItem() 构造菜单项

MenuItem(String s) 构造标题是s的菜单项

setEnabled(boolean b) 设置是否可以被选择

getLabel() 得到菜单选项名

addActionListener() 添加监视器

5、有关菜单的技巧

addSeparator() 增加菜单分割线

CheckboxMenuItem() 复选框菜单项

setShortcut(MenuShortcut k) 设置快捷键(k取值KeyEvent.VK_A----KeyEvent.VK_Z)

建立对话框

1、Dialog类

Dialog(Frame f,String s) 构造对话框,初始不可见,s是标题,f是对话框所依赖的窗口Dialog(Frame f,String s,boolean b) b设置初始是否可见

getTitle() 获取对话框标题

setTitle(String s) 设置对话框标题

setModal(boolean b) 设置对话框模式

setSize(int w,int h) 设置对话框大小

setVisible(boolean b) 显示或隐藏对话框

2、FileDialog类

Filedialog(Frame f,String s,int mode) mode的值是fileDialog.LOAD或者fileDialog.SAVE public String getDirectory() 获取当前文件对话框中显示的文件所属目录

public String getFile() 获取当前文件对话框中文件的字符串表示,不存在返回null

Java中的鼠标和键盘事件

1、使用MouseListener借口处理鼠标事件

鼠标事件有5种:按下鼠标键,释放鼠标键,点击鼠标键,鼠标进入和鼠标退出

鼠标事件类型是MouseEvent,主要方法有:

getX(),getY() 获取鼠标位置

getModifiers() 获取鼠标左键或者右键

getClickCount() 获取鼠标被点击的次数

getSource() 获取鼠标发生的事件源

事件源获得监视器的方法是addMouseListener(),移去监视器的方法是removeMouseListener()

处理事件源发生的时间的事件的接口是MouseListener 接口中有如下的方法

mousePressed(MouseEvent) 负责处理鼠标按下事件

mouseReleased(MouseEvent) 负责处理鼠标释放事件

mouseEntered(MouseEvent) 负责处理鼠标进入容器事件

mouseExited(MouseEvent) 负责处理鼠标离开事件

mouseClicked(MouseEvent) 负责处理点击事件

2、使用MouseMotionListener接口处理鼠标事件

事件源发生的鼠标事件有2种:拖动鼠标和鼠标移动

鼠标事件的类型是MouseEvent

事件源获得监视器的方法是addMouseMotionListener()

处理事件源发生的事件的接口是MouseMotionListener 接口中有如下的方法

mouseDragged() 负责处理鼠标拖动事件

mouseMoved() 负责处理鼠标移动事件

3、控制鼠标的指针形状

setCursor(Cursor.getPreddfinedCursor(Cursor.鼠标形状定义)) 鼠标形状定义见(书P 210)4、键盘事件

键盘事件源使用addKeyListener 方法获得监视器

键盘事件的接口是KeyListener 接口中有3个方法

public void keyPressed(KeyEvent e) 按下键盘按键

public void keyReleased(KeyEvent e) 释放键盘按键

public void keyTypde(KeyEvent e) 按下又释放键盘按键

Java多线程机制

1、Java的线程类与Runnable接口

Thread类

public Thread() 创建线程对象

public Thread(Runnable target) target 称为被创建线程的目标对象,负责实现Runnable接口

线程优先级

Thread类有三个有关线程优先级的静态常量:MIN_PRIORITY,MAX_PRIORITY,NORM_PRIORITY 新建线程将继承创建它的副相承的优先级,用户可以调用Thread类的setPriority(int a)来修改

a的取值:

Thread.MIN_PRIORITY,Thread.MAX_PRIORITY,Thread.NORM_PRIORITY

主要方法

启动线程start()

定义线程操作run()

使线程休眠sleep()

sleep(int millsecond) 以毫秒为单位的休眠时间

sleep(int millsecond,int nanosecond) 以纳秒为单位的休眠时间

currentThread() 判断谁在占用CPU的线程

第二十章输入输出流

1、FileInputStream类

FileInputStream(String name) 使用给定的文件名name创建一个FileInputStream对象FileInputStream(File file) 使用File对象创建FileInpuStream对象

File类有两个常用方法:

File(String s) s确定文件名字

File(String directory,String s) directory是文件目录

例如:

File f=new File("Myfile.dat");

FileInputStream istream=new FileInputStream(f);

处理I/O异常

当出现I/O错误的时候,Java生成一个IOException(I/O异常)对象来表示这个错误的信号。

程序必须使用一个catch检测这个异常

例如:

try{

FileInputStream ins= new FileInputStream("Myfile.dat");

}

catch(IOException e){

System.out.println("File read Error:"+e);

}

从输入流中读取字节

int read() 返回0~255之间一个整数,如果到输入流末尾,则返回-1

int read(byte b[]) 读取字节数组

int read(byte b[],int off,int len) off指定把数据存放在b中什么地方,len指定读取的最大字节数

关闭流

close()

2、FileOutputStream类

FileOutputStream(String name) 使用指定的文件名name创建FileOutputStream对象FileOutputStream(File file)使用file对象创建FileOutputStream对象

FileOutputStream(FileDescriptor fdobj)使用FileDescriptor对象创建FileOutputStream对象3、FileReader类和FileWriter类

FileReader(String filename)

FileWriter(String filename)

处理时需要FileNotFoundException异常

4、RandomAccessFile类

RandomAccessFile不同于FileInputStream和FileOutputStream,不是他们的子类

当我们想对一个文件进行读写操作的时候,创建一个指向该文件的RandomAccessFile流就可以了RandomAccessFile类有两个构造方法:

RandomAccessFile(String name, String mode)name是文件名,mode取r(只读)或rw(读写) RandomAccessFile(File file,String mode)file给出创建流的源

seek(long a) 移动RandomAccessFile流指向文件的指针,a确定指针距文件开头的位置getFilePointer() 获取当前文件的指针位置

close() 关闭文件

getFD() 获取文件的FileDescriptor

length() 获取文件长度

read() 读取一个字节数据

readBoolean() 读取一个布尔值

readByte() 读取一个字节

readChar()

readFloat()

readFully(byte b[])

readInt()

readLine()

readLong()

readUnsignedShort()

readUTF() 读取一个UTF字符串

setLength(long newLength) 设置文件长度

skipByte(int n) 在文件中跳过给定数量的字节

write(byte b[]) 写b.length个字节到文件

writeBoolean(bolean b)

writeByte(int v)

writeChar(char c)

writeChars(String s)

writeDouble(double d)

writeFloat(float v)

writeInt(int i)

writeLong(long l)

writeShort(int i)

writeUTF(String s)

5、管道流

PipedInputStream类

PipedInputStream() 创建一个管道输入流

PipedInputStream(PipedOutputStream a)连接到输出流a的输入流read() 从输入流中读取一个字节

read(byte b[],int off,int len) off是在b中的开始位置,len是字节长度PipedOutputStream类

PipedOutputStream() 创建一个输出流

PipedOutputStream(PipedInputStream a) 连接到输入流a的输出流

write(int b)

write(byte b[],int off,int len)

counnect() 连接输入输出流

close() 关闭流

在使用的时候要捕获IOException异常。

6、数据流

DataInputStream类(数据输入流)

DataInputStream(InputStream in) 将数据输入流指向一个由in指定的输入流DataOutputStream类(数据输出流)

DataOutputStream(OutputStream out) 将数据输出流指向一个由out指定的输出流主要方法:

close()

read() 读取一个字节数据

readBoolean() 读取一个布尔值

readByte() 读取一个字节

readChar()

readFloat()

readFully(byte b[])

readInt()

readLine()

readLong()

readUnsignedShort()

readUTF() 读取一个UTF字符串

skipByte(int n) 在文件中跳过给定数量的字节

write(byte b[]) 写b.length个字节到文件

writeBoolean(bolean b)

writeByte(int v)

writeChar(char c)

writeChars(String s)

writeDouble(double d)

writeFloat(float v)

writeInt(int i)

writeLong(long l)

writeShort(int i)

writeUTF(String s)

7、对象流

ObjectInputStream类和ObjectOutputStream类分别是DataInputStream类和DataOutputStream类的子类

8、回压输入流

PushbackInputStream类

PushbackInputStream(InputStream in)

PushbackReader类

PushbackReader(Reader in)

unread(char c) 回压一个字符

unread(char c[]) 回压数组c中全部字符

unread(char c[],offset,int n) 回压c中从offset开始的n个字符

java网络的基本知识

1、使用URL(统一资源定位)

例如:

try

{

url=new URL("https://www.360docs.net/doc/2416382578.html,";

}

catch(MalformedURLException e)

{

System.out.println("Bad URL:"+url);

}

在Applet 中链接向另外的Web页面,使用代码:

getAppletContext().showDocument(url);

2、套接字

客户建立到服务器的套接字(Socket)

Socket(String host,int port) host是服务器的IP地址,port是端口号

建立了套接字后可以使用getInputStream()获得输入流

还可以使用getOutputStream()获得一个输出流

服务器建立接受客户套接字的服务器套接字(ServerSocket)

ServerSocket(int port) port是端口号

建立了套接字连接后可以使用accept()接收客户的套接字

可以使用getOutputStream()获得一个输出流

还可以使用getInputStream()获得一个输入流

3、InetAddress类

getByName(String )

3、InetAddress类

getByName(String s) 获取Internet上主机的地址

getHostName() 获取InetAddress对象所包含的域名

getHostAddress() 获取InetAddress对象所包含的IP地址

getLocalHost() 获取本地地址

4、UDP数据报

发送数据包,即使用DatagramPacket类将数据打包,有两种构造方法

DatagramPacket(byte data[],int length,InetAddress address,int port)

?含有data数组的数据

?该数据包将发送到地质是address,端口是port的主机上

DatagramPacket(byte data[],int offset,int length,InetAddress address,int port)

?含有data数组的从offset开始,length长度的数据

?该数据包将发送到地质是address,端口是port的主机上

接收数据包,即使用DatagramSocket(int port)创建一个对象,port必须和待接收的数据包的端口相同

例如:

如果发送方的数据包端口是5566

DatagramSocket mail=new DatagramSocket(5566);

然后对象mail可以使用方法receive(Datagrampacket pack)接收数据包

在使用参数pack 接收数据包前,必须创建pack

byte data[]=new byte[100];

int length=90;

DatagramPacket pack=new DatagramPataet(data,length);

mail.receive(pack);

该数据包pack将接收长度是length的数据放入data,注意数据长度不要超过8192KB

pack还可以调用方法getPort()获取所接受数据包是从什么端口发出的

调用方法InetAddress getAddress()可以获知数据包来自哪个主机

Java与图像

1、java支持的图像类型:GIF,JPEG,BMP

2、Image类

首先申请一个Image对象

Image img =getImage(URL url,String name) url是图像地址,name是图片名称

通常使用:

Image img =getImage(getCodBase(),String name) getCodBase()获取当前小应用程序的URL,也就是在同一目录下

图像被加载后,就可以在paint()中绘制了

drawImage(Image img,int x,int y,ImageObserver observer)

img是上面获取的图像,x,y是指定图像左上角的位置,observer是加载图像时的图像观察器

Applet类已经实现了ImageObserver接口,所以可以直接使用this作为最后一个参数

drawImage(Image img,int x,int y,int width,int height,ImageObserver observer)

width和height是要绘制的图像的宽和高

可以使用img.getHeight(this)和img.getWidth(this)来获取被加载的图像的宽和高

3、设置Java窗口图标

Frame对象可以使用setIconImage(Image img)方法设置左上角图标,默认图标是咖啡杯

Java数据库连接(JDBC)

1、JDBC-ODBC桥接器

建立JDBC-ODBC桥接器

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}

catch(ClassNotFoundException e){}

连接到数据库

try

{

Connection con=DriverManager.getConnection("jdbcdbc:数据源名称","数据源的login name","数据源的password");

}

catch(SQLException e){}

向数据库发送SQL语句

try

{

Statement sql=con.createStatement();

}

catch(SQLException e){}

处理查询结果

ResultSet rs=sql.executeQuery("SQL语句");

第二十四章Java与多媒体

1、在小程序中播放声音

java可以播放au,aiff,wav,midi,rfm格式的音频

可以调用Applet的一个静态方法:

newAudioClip(URL url,String name) url是地址,name是音频名称

也可以用Applet类的实例方法:

getAudioClip(URL url,String name)

根据url地址和声音文件name,获得一个用于播放的音频对象,这对象可以使用下面的方法来处理声音:play() 播放声音文件name

loop() 循环播放name

stop() 停止播放name

2、Java媒体框架(JMF)

创建播放器

try

{

URL url=new URL(getDocumenBase(),视频文件名称);

player player=Manager.createPlayer(url);

}

catch(IOException e){}

向播放器注册控制监视器

player.addControllerListener(监视器);

创建监视器必须使用接口ControllerListener ,该接口中的方法是

public void controllerUpdate(ControllerEvent e)

让播放器对媒体进行预提取

player.prefetch()

启动播放器

player.start();

停止播放器

player.stop();

停止播放器后必须释放内存中的资源

player.deallocate();

Java Swing基础

1、Jcomponent类

Jcomponent类是所有轻量组件的父类,主要的子类有:

JButton 创建按钮对象,而且可以创建在图标的按钮

JComboBox 创建组合框对象,和Choice相似

JCheckBox 创建复选框对象

JFileChooser 创建文件选择器

JInternalFrame 创建内部窗体

JLabel 创建标签

JMenu 创建菜单对象

JMenuBar 创建菜单条对象

JMenuItem 创建菜单项对象

JPanel 创建面板对象

JPasswordField 创建口令文本对象

JPopupMenu 创建弹出式菜单

JProgressBar 创建进程条

JRadioButton 创建单选按钮

JScrollBar 创建滚动条

JScrollPane 创建滚动窗格

JSlider 创建滚动条

JSplitPane 创建拆分窗格

JTable 创建表格

JTextArea 创建文本区

JTexPane 创建文本窗格

JToolBar 创建工具条

JToolTip 创建工具提示对象

JTree 创建树对象

2、JFrame类

JFrame类及其子类创建的对象是窗体

(1)JFrame类及其子类创建的窗体是swing窗体

(2)不可以把组件直接加到swing窗体中,应该把组件加到内容面板中(3)不能为swing窗体设置布局,而应当为内容面板设置布局

(4)swing窗体通过调用getContentPane()方法得到它的内容面板3、JApplet类

(1)不可以把组件直接添加到小程序容器中,也应该添加到内容面板中(2)不能为小程序设置布局

(3)小程序容器通过调用getContenPane()方法得到内容面板

4、JDialog类

(1)不可以把组件直接添加到对话框容器中,也应该添加到内容面板中

(2)不能为对话框设置布局

(3)对话框容器通过调用getContenPane()方法得到内容面板

5、JPanel面板

JPanel()

JPanel(布局对象)

6、滚动窗口JScrollPane

JScrollPane()

JScrollPane(component c)

7、拆分窗口JSplitPane

JSplitPane(int a,Component b,Component c)

a的取值是HORIZONTAL_SPLIT或者VERTICAL_SPLIT决定水平拆分还是垂直拆分

JSplitPane(int a,boolean b ,Component b,Component c) b的取值决定拆分线移动的时候组件是否连续变化

8、内部窗体JInternalFrame

JInternalFrame(String title,boolean resizable,booleam closable,boolean max,boolean min) 参数的意义分别是窗口名称,是否能调整大小,是否有关闭按钮,最大化按钮,最小化按钮

(1)不能把组件直接加到窗体中,而是加到内容面板中

(2)必须先把内部窗体加到一个容器中(JDesktopPane),该容器是专门为内部窗体服务的

9、按钮(JButton)

JButton() 创建按钮

JButton(String s) s是按钮的名字

JButton(Icon icon) icon是按钮上的图标

JButton(String s,Icon icon)

getText() 获取按钮名字

getIcon() 获取按钮图标

setIcon(Icon icon) 设置按钮图标

setHorizontalTextposition(int a) a确定按钮上图标的位置,取值:

AbstractButton_CENTR,AbstractButton_LEFT,AbstractButton_RIGHT setVerticalTextposition(int a) a确定按钮上名字相对图标的位置,取值:

AbstractButton.TOP,AbstractButton.BOTTOM,AbstractButton.CENTR

setMnemonic(char c) 设置按钮的键盘操作方式是字符c(Alt+c)

setEnabled(boolean b) b决定按钮是否可以被单击

javamath类常用方法

例如求平方根的(n),求a的b次方(a, b),求绝对值(n)等很多。下面是一些演示。publicclassMathTest { publicstaticvoidmain(String[]args) { intn=16; ? 3)); ? ? } } publicclassMathDemo{ publicstaticvoidmain(Stringargs[]){ /** *abs求绝对值 */ 的时候会取偶数 */ // // // // // // // // // // /** *round四舍五入,float时返回int值,double时返回long值 */ //10 //11 //11 //11 //-10 //-11 //-11 //-10 } }

函数(方法) 描述 IEEEremainder(double,double) 按照IEEE754标准的规定,对两个参数进行余数运算。 abs(inta) 返回int值的绝对值 abs(longa) 返回long值的绝对值 abs(floata) 返回float值的绝对值 abs(doublea) 返回double值的绝对值 acos(doublea) 返回角的反余弦,范围在到pi之间 asin(doublea) 返回角的反正弦,范围在-pi/2到pi/2之间 atan(doublea) 返回角的反正切,范围在-pi/2到pi/2之间 atan2(doublea,doubleb) 将矩形坐标(x,y)转换成极坐标(r,theta) ceil(doublea) 返回最小的(最接近负无穷大)double值,该值大于或等于参数,并且等于某个整数cos(double) 返回角的三角余弦 exp(doublea) 返回欧拉数e的double次幂的值 floor(doublea) 返回最大的(最接近正无穷大)double值,该值小于或等于参数,并且等于某个整数log(doublea) 返回(底数是e)double值的自然对数 max(inta,intb) 返回两个int值中较大的一个 max(longa,longb) 返回两个long值中较大的一个 max(floata,floatb) 返回两个float值中较大的一个 max(doublea,doubleb) 返回两个double值中较大的一个 min(inta,intb) 返回两个int值中较小的一个 min(longa,longb) 返回两个long值中较小的一个 min(floata,floatb)

JAVA中常用的集合类型

JAVA常用的高级数据类型——集合类型 一、JAVA语言中的集合类型主要有三种形式:Set(集)、List(列表)、Map(映射),每种类型的集合都包括三部分:接口、实现和算法。 a)集合接口实现集合的操作和集合的具体功能实现细节的相互分离—— Set接口、List接口、Map接口 b)集合的具体功能实现类实质上是各种可重用的数据结构的具体表示 List接口的实现类有ArrayList、LinkedList、Stack和Vector等 集合类,Vector 类提供了实现可增长数组的功能,随着更多元素加 入其中,数组变的更大。在删除一些元素之后,数组变小。 Set接口的实现类有HashSet、LinkedHashSet和TreeSet等集合类 Map接口的实现类有HashMap、Hashtable、LinkedHashMap、Properties和TreeMap等集合类。 c)集合的算法指可以对实现集合接口的各个集合的功能实现类提供如排 序、查找、交换和置换等方面的功能实现。 二、List接口 1.List接口代表有序的集合,可以对List接口代表的有序集合中每个元素 的插入位置进行精确地控制,并利用元素的整数索引(代表元素在集合中的位置)访问元素中的各个成员,List接口代表的集合是允许出现重复元素的。 2.List接口主要成员方法: 1)void add(int index,E element)在列表指定位置插入指定元素 2)E get(int index) 返回结合中指定位置的元素 3)E remove(int index) 移除集合中指定位置的元素 4)E set(int index,E elment) 用指定元素替换集合中指定位置的元素 5)boolean add(E o) 向列表的尾部追加指定的元素 6)boolean contains(Object o) 如果列表包含指定的元素,则返回true。 7)boolean isEmpty() 如果列表不包含元素,则返回 true。 8)int size() 返回列表中的元素数 9)Iterator iterator()返回以正确顺序在列表的元素上进行迭代的迭代器。 3.List的实现类 List在数据结构中分别表现为数组(ArrayList)、向量(Vector)、链表(LinkedList)、堆栈(Stack)和队列等形式。 Vector集合和ArrayList集合都是采用数组形式来保存对象,区别在于ArrayList集合本身不具有线程同步的特性,不能用在多线程的环境下,可以使用ArrayList集合能够节省由于同步而产生的系统性能的开销。而Vector集合实现了对线程同步的支持,因此在多线程并发访问的应用环境下,该集合本身能够保证自身具有线程安全性。在多线程的并发访问中,可以将Vector集合的对象实例设计为类中的成员属性,而应该将ArrayList 集合的对象实例设计为局部对象。 public class UserInfo{ List oneVector=new Vector(); public void execute(){

JAVA中常用类的常用方法

JAVA中常用类的常用方法 一、类 1、clone()方法 创建并返回此对象的一个副本。要进行“ 克隆” 的对象所属的类必须实现. Cloneable接口。 2、equals(Object obj)方法 功能:比较引用类型数据的等价性。 等价标准:引用类型比较引用,基本类型比较值。 存在特例:对File、String、Date及封装类等类型来说,是比较类型及对象的内 容而不考虑引用的是否为同一实例。 3、finalize()方法 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 4、hashCode()方法 返回该对象的哈希码值。 5、notify()方法 唤醒在此对象监视器上等待的单个线程。 6、notifyAll()方法 唤醒在此对象监视器上等待的所有线程。 7、toString()方法 返回该对象的字符串表示。在进行String与其它类型数据的连接操作时,自动调用toString()方法。可以根据需要重写toString()方法。 8、wait()方法 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。 二、字符串相关类 String类 charAt(int index) 返回指定索引处的 char 值。 compareTo(String anotherString) 按字典顺序比较两个字符串。 compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。 concat(String str) 将指定字符串连接到此字符串的结尾。 endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 equals(Object anObject) 将此字符串与指定的对象比较。 equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 比 较,不考虑大小写。 indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。 lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 length() 返回此字符串的长度。 replace(char oldChar, char newChar)

java集合类总结

1.本讲内容:集合collection (数组和集合90%功能相似,但是最大的区别是,数组在初始化的时候必须确定大小,而集合不用,而且集合是一堆的类,使用起来非常方便。) 讲集合collection之前,我们先分清三个概念: 1colection 集合,可用来存储任何对象的一种数据结构(容器)。 2Collection 集合接口,指的是,是Set、List 和Queue 接口的超类接口 3Collections 集合工具类,指的是类。 SCJP考试要求了解的接口有:Collection , Set , SortedSet , List , Map , SortedMap , Queue , NavigableSet , NavigableMap, 还有一个Iterator 接口也是必须了解的。 SCJP考试要求了解的类有:HashMap , Hashtable ,TreeMap , LinkedHashMap , HashSet , LinkedHashSet ,TreeSet , ArrayList , Vector , LinkedList , PriorityQueuee , Collections , Arrays 下面给出一个集合之间的关系图: 上图中加粗线的ArrayList 和HashMap 是我们重点讲解的对象。下面这张图看起来层级结构更清晰些。 我们这里说的集合指的是小写的collection,集合有4种基本形式,其中前三种的父接口是Collection。 4List 关注事物的索引列表 5Set 关注事物的唯一性 6Queue 关注事物被处理时的顺序 7Map 关注事物的映射和键值的唯一性 一、Collection 接口 Collection接口是Set 、List 和Queue 接口的父接口,提供了多数集合常用的方法声明,包括add()、remove()、contains() 、size() 、iterator() 等。 add(E e) 将指定对象添加到集合中 remove(Object o) 将指定的对象从集合中移除,移除成功返回true,不成功返回false contains(Object o) 查看该集合中是否包含指定的对象,包含返回true,不包含返回flase size() 返回集合中存放的对象的个数。返回值为int clear() 移除该集合中的所有对象,清空该集合。 iterator() 返回一个包含所有对象的iterator对象,用来循环遍历 toArray() 返回一个包含所有对象的数组,类型是Object toArray(T[] t) 返回一个包含所有对象的指定类型的数组 我们在这里只举一个把集合转成数组的例子,因为Collection本身是个接口所以,我们用它的实现类ArrayList做这个例子:例子1: package edu.xjfu;

JAVA中常用类的常用方法

JAVA屮常用类的常用方法 一.java?丨ang.Object 类 1、clone()方法 创建丼返M此对象的一个副木。要进行“克隆”的对象所属的类必须实现https://www.360docs.net/doc/2416382578.html,ng. Cloneable 接口。 2、equals(Objectobj)方法 0 功能:比较引用类型数据的等价性。 0 等价标准.?引用类型比较引用,基木类型比较值。 0 存在特例.?对File、String、Date及封装类等类型来说,是比较类型及对象的内稃而+ 考虑引用的是否为同一实例。 3、finalize〇方法 当垃圾丨"丨收器确定>(、存在对该对象的更多引用时,由对象的垃圾丨"丨收器调用此方法。 4、hashCode〇方法返 回该对象的哈希码值。 5、notify〇方法 唤醒在此对象监视器上等待的中?个线祝。 6、notifyAII〇方法 唤醒在此对象监视器上等待的所有线程= 7、toString()方法 返W该对象的字符串表示。在进行String与其它类型数据的连接操作时,&动调用tostringo 方法。可以根据耑要重写toStringO方法。 8、wait()方法 在其他线程调用此对象的n〇tify()方法或notifyAIIO方法前,异致当前线程等待。 二、字符串相关类 I String 类 charAt(int index)返回指定索引处的char值。compareTo{String anotherString)按字

典顺序比较两个字符串。compareTolgnoreCase(Stringstr)按字典顺序比较两个字 符串,不考虑人小写。concat(String str)将指定字符串连接到此字符串的结尾。 endsWith(String suffix)测试此字符串是否以指定的〗?缀结束。equals{Object anObject)将此字符串与指定的对象比较。 equalslgnoreCase(String anotherString)将此String 与另一个String 比较,考虑人小'与’。indexOf(int ch)返H指定字符在此字符串屮第一次出现处的索引。 indexOf(String str)返回第一次出现的指定子字符串在此字符串屮的索引, lastlndexOf(intch)返回指定字符在此字符串中最后??次出现处的索引。 length()返|n丨此字符串的长度。 replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。 split(String regex)根据给定正则表达式的匹配拆分此字符串。startsWith{String prefix)测试此字符 串是否以指定的前缀开始。substring(int beginlndex) 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 substring(int beginlndex, int endlndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginlndex 处开始,一直到索引endlndex-1处的字符。 t〇CharArray()将此字符串转换为一个新的字符数组。

实验5 JAVA常用类

山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称 Java实验实验日期成绩指导教师批改日期 实验5 JAVA常用类实验名称 一.实验目的: (1)掌握常用的String,StringBuffer(StringBuilder)类的构造方法的使用;(2)掌握字符串的比较方法,尤其equals方法和==比较的区别; (3)掌握String类常用方法的使用; (4)掌握字符串与字符数组和byte数组之间的转换方法; (5)Date,Math,PrintWriter,Scanner类的常用方法。 二.实验内容 1.二进制数转换为十六进制数(此程序参考例题249页9. 2.13) 程序源代码 import java.util.*; public class BinToHexConversion{ //二进制转化为十六进制的方法 public static String binToHex(String bin){ int temp; //二进制转化为十六进制的位数 if(bin.length()%4==0) temp = bin.length()/4; else temp = bin.length()/4 + 1; char []hex = new char[temp]; //十六进制数的字符形式 int []hexDec = new int[temp];//十六进制数的十进制数形式 int j = 0; for(int i=0;i=0&&dec<10) return (char)('0'+dec-0); else if(dec>=10&&dec<=15) return (char)('A'+dec-10); else return '@'; }

JAVA中常用类的常用方法

JAVA中常用类的常用方法 一、https://www.360docs.net/doc/2416382578.html,ng.Object类 1、clone()方法 创建并返回此对象的一个副本。要进行“克隆”的对象所属的类必须实现https://www.360docs.net/doc/2416382578.html,ng. Cloneable接口。 2、equals(Object obj)方法 ?功能:比较引用类型数据的等价性。 ?等价标准:引用类型比较引用,基本类型比较值。 ?存在特例:对、Date及封装类等类型来说,是比较类型及对象的内容而不考虑引用的是否为同一实例。 3、finalize()方法 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 4、hashCode()方法返回该对象的哈希码值。 5、notify()方法唤醒在此对象监视器上等待的单个线程。 6、notifyAll()方法唤醒在此对象监视器上等待的所有线程。 7、toString()方法 返回该对象的字符串表示。在进行String与其它类型数据的连接操作时,自动调用toString()方法。可以根据需要重写toString()方法。 8、wait()方法 在其他线程调用此对象的notify() 方法或notifyAll() 方法前,导致当前线程等待。 二、字符串相关类 l String类 charAt(int index) 返回指定索引处的char 值。 compareTo(String anotherString) 按字典顺序比较两个字符串。 compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。 concat(String str) 将指定字符串连接到此字符串的结尾。 endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 equals(Object anObject) 将此字符串与指定的对象比较。 equalsIgnoreCase(String anotherString) 将此String 与另一个String 比较,不考虑大小写。indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。 lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 length() 返回此字符串的长度。 replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用newChar 替换此字符串中出现的所有oldChar 得到的。split(String regex) 根据给定正则表达式的匹配拆分此字符串。 startsWith(String prefix) 测试此字符串是否以指定的前缀开始。 substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginIndex 处开

Java中的集合类

Java中的集合类 (Collection framework)我们在前面学习过java数组,java数组的程度是固定的,在同一个数组中只能存放相同的类型数据。数组可以存放基本类型的数据,也可以存入对象引用的数据。 在创建数组时,必须明确指定数组的长度,数组一旦创建,其长度就不能改变,在许多应用的场合,一组数据的数目不是固定的,比如一个单位的员工数目是变化的,有老的员工跳槽,也有新的员工进来。 为了使程序方便地存储和操纵数目不固定的一组数据,JDK中提供了java集合类,所有java集合类都位于java.util包中,与java数组不同,java集合类不能存放基本数据类型数据,而只能存放对象的引用。 Java集合类分为三种 Set(集合):集合中对象不按特定的方式排序。并且没有重复对象,但它有些实现类中的对象按特定方式排序。--无序,不能重复 List(列表):集合中的对象按照检索位置排序,可以有重复对象,允许按照对象在集中的索引位置检索对象,List和数组有些相似。--有序,可以重复 Map(映射):集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复,它的有些实现类能对集合中的键对象进行排序。 Java的主要集合类的框架图 Collection和Iterator接口 在Collection接口中声明了适用于java集合(只包括Set和List)通用方法。 Collection接口的方法 方法描述

boolean add(Object o) 向集合中加入一个对象的引用 void clear( ) 删除集合中所有对象,即不再对持有对象的引用boolean contains(Object o) 判断在集合中是否含有特定对象的引用 boolean isEmpty() 判断集合是否为空 Iterator iterator( ) 返回一个Iterator对象,可用它来遍历集合中的元素boolean remove(Object o) 从集合中删除一个对象的引用 int size( ) 返回集合中元素的数目 Object [ ] toArray() 返回一个数组,该数组包含集合中的所有元素 Set接口和List即可都继承了Collection接口,而Map接口没有继承Collection接口,因此可以对Set对象和List对象调用以上方法,但是不能对Map对象调用以上方法。Collection接口的iterator()和toArray()方法多用于获得集合中的所有元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组。 Iterator隐藏底层集合的数据结构,向客户程序提供了遍历各种类型的集合的统一接口。Iterator接口中声明了如下方法: ●hasNext():判断集合中的元素是否遍历完毕,如果没有,就返回true。 ●next():返回下一个元素 ●remove():从集合中删除上一个由next()方法返回的元素。 注意:如果集合中的元素没有排序,Iterator遍历集合中元素的顺序是任意的,并不一定与像集合中加入的元素的顺序一致。 Set(集) Set是最简单的一种集合,集合中的对象不按特定方式排序,并没有重复对象。Set接口主要有两个实现类:HashSet类还有一个子类LinkedHashSet类,它不仅实现了哈希算法,而且实现了链表数据结构,链表数据结构能提高插入核算出元素的性能。TreeSet类实现了SortedSet接口中,具有排序功能。 List(列表) List的主要特征使其元素已先行方式存储,集合中允许存放重复对象。List接口主要的实现类包括: ●ArrayList—ArrayList代表长度可变的数组。允许对元素进行快速的随机访问,但是向 ArrayList中插入与删除元素的速度较慢。 ●LinkedList—在实现中采用链表数据结构。对顺序访问进行了优化,向List中插入和 删除元素的速度较快,随机访问速度则相对较慢,随机访问是指检索位于特定索引位置元素。 Map(映射) Map(映射)是一种吧键对和值对象进行映射的集合。它的每一个元素都包含一对键对象和值对象,而之对象仍可以是Map类型。以此类推,这样就形成了多级映射。向Map集合中加入元素时,必须提供一对键对象和值对象,从Map集合上检索元素只要给出键对象,就会返回值对象。 实例1 CollectionAll.java

JavaMath类常用方法

例如求平方根的Math.sqrt(n),求a的b次方Math.pow(a, b),求绝对值Math.abs(n)等很多。下面是一些演示。 public class MathTest { public static void main(String[] args) { int n = 16; System.out.println(Math.sqrt(n)); System.out.println(Math.pow(2, 3)); System.out.println(Math.abs(-4)); System.out.println(Math.log10(100)); } } public class MathDemo { public static void main(String args[]){ /** * abs求绝对值 */ System.out.println(Math.abs(-10.4)); //10.4 System.out.println(Math.abs(10.1)); //10.1 /** * ceil天花板的意思,就是返回大的值,注意一些特殊值 */ System.out.println(Math.ceil(-10.1)); //-10.0 System.out.println(Math.ceil(10.7)); //11.0 System.out.println(Math.ceil(-0.7)); //-0.0 System.out.println(Math.ceil(0.0)); //0.0 System.out.println(Math.ceil(-0.0)); //-0.0 /** * floor地板的意思,就是返回小的值 */ System.out.println(Math.floor(-10.1)); //-11.0 System.out.println(Math.floor(10.7)); //10.0 System.out.println(Math.floor(-0.7)); //-1.0

Java中集合类用法总结

帮助 | 留言交? | 登录 首页我的图书馆主题阅读精彩目录精品文苑Tags 会员浏览好书推荐 以文找文 如何对文章标记,添加批注? Java 中集合?用法总结(转载) wade0564 收录于2010-07-08 阅读数:查看 收藏数:7 公众公开 原文来源 tags : java 集合类 欢迎浏览 wade0564 个人图书馆中收藏的文章,想收藏这篇好文章吗,赶快 吧,1分钟拥有自己的个人图书馆! 我也要收藏 举报 Java 中集合?用法总结 收藏 Collection ├List │├LinkedList │├ArrayList (异步,线程不安全,空间用完时自动增长原容量一半)│└Vector (同 步,线程安全,空间用完时自动增长原容量一倍)│ └Stack └Set ├HashSet └TreeSet Map ├Hashtable ├HashMap ├WeakHashMap └TreeMap Map 接口: | + -- WeakHashMap: 以弱键 实现的基于哈希表的 Map 。在 WeakHashMap 中,当某个键不再正常使用时,将自动移除其条 | 目。更精确地说,对于一个给定的键,其映射的存在并不阻止垃圾回收器对该键的丢弃,这就使该键成为 可终止的,被终 | 止,然后被回收。丢弃某个键时, 其条目从映射中有效地移除,因此,该类的行为与其他的 Map 实现有所不同。此实现 | 不是同步的。 | + -- TreeMap:该映射根据其键的自然顺序进行 排序,或?根据创建映射时提供的 Comparator 进行 排序,具体取决于使用的 | 构造方法。此实现不是同步的。 | + -- HashMap:基于哈希表的 Map 接?的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了 | 非同步和允许 使用 null 之外,HashMap 类与 Hashtable ?致相同。)此类不保证映射的顺序,特别是它不保证该顺 | 序恒久不变。此实现不是同步的。 | +-- SortedMap: 进一步提供关于键的总体排序 的 Map 。该映射是根据其键的自然顺序进 行排序的,或?根据通常在创建有 序映射时提供的 Comparator 进行排序。对有序映射的 collection 视图(由 entrySet 、keySet 和 values 方法返回 )进行迭代时,此顺序就会反映 出来。要采用此排序方式,还需要提供一些其他操作(此接?是 SortedSet 的对应映 射)。 Collection 接口: | 热点推荐 中国经典汤品——广东汤常用多音字汇总 如果你失恋。。。这些话...影响世界的100个管理定律汽车发动机?作过程和原理分析温家宝总理答中外记?问女人味,有多少男人可以读懂?珍稀的白头叶猴(组图)三鹿门事件之——中国,...国家公务员职务与级别当代古筝四美 付娜《渔...生活?秘方 真的很实用...哲理?品:守护梦想聚会时可以玩的?游戏依赖型人格障碍的表现和治疗经典妙语,十分精彩江边施救[贴图]李一男2003年在港湾...电脑速度慢的解决方法 ...重装系统后必须做的10件?事

java中常用的一些方法

java中常用的一些方法 字符串 1、获取字符串的长度 length() 2 、判断字符串的前缀或后缀与已知字符串是否相同 前缀startsWith(String s) 后缀endsWith(String s) 3、比较两个字符串 equals(String s) 4、把字符串转化为相应的数值 int型Integer.parseInt(字符串) long型Long.parseLong(字符串) float型Folat.valueOf(字符串).floatValue() double型Double.valueOf(字符串).doubleValue() 4、将数值转化为字符串 valueOf(数值) 5、字符串检索 indexOf(Srting s) 从头开始检索 indexOf(String s ,int startpoint) 从startpoint处开始检索 如果没有检索到,将返回-1 6、得到字符串的子字符串 substring(int startpoint) 从startpoint处开始获取 substring(int start,int end) 从start到end中间的字符 7、替换字符串中的字符,去掉字符串前后空格 replace(char old,char new) 用new替换old trim() 8、分析字符串 StringTokenizer(String s) 构造一个分析器,使用默认分隔字符(空格,换行,回车,Tab,进纸符)StringTokenizer(String s,String delim) delim是自己定义的分隔符

nextToken() 逐个获取字符串中的语言符号 boolean hasMoreTokens() 只要字符串还有语言符号将返回true,否则返回false countTokens() 得到一共有多少个语言符号 文本框和文本区 1、文本框 TextField() 构造文本框,一个字符长 TextField(int x) 构造文本框,x个字符长 TextField(String s) 构造文本框,显示s setText(String s) 设置文本为s getText() 获取文本 setEchoChar(char c) 设置显示字符为c setEditable(boolean) 设置文本框是否可以被修改 addActionListener() 添加监视器 removeActionListener() 移去监视器 2、文本区 TextArea() 构造文本区 TextArea(String s) 构造文本区,显示s TextArea(String s,int x,int y) 构造文本区,x行,y列,显示s TextArea(int x,int y) 构造文本区,x行,y列 TextArea(String s,int x,ing y,int scrollbar) scrollbar的值是: TextArea.SCROLLBARS_BOTH TextArea.SCROLLBARS_VERTICAL_ONLY TextArea.SCROLLBARS_HORIZONTAL_ONLY TextArea.SCROLLBARS_NONE setText(String s) 设置文本为s

Java集合体系结构分析与比较

Java集合体系结构分析与比较 1. Java集合框架图 Java平台提供了一个全新的集合框架.“集合框架”主要由一组用来操作对象的接口组成.不同接口描述一组不同数据类型. Java集合框架图如下: 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础. 抽象类:5个抽象类(长虚线表示),对集合接口的部分实现.可扩展为自定义集合类. 实现类:8个实现类(实线表示),对接口的具体实现. 在很大程度上,一旦您理解了接口,您就理解了框架.虽然您总要创建接口特定的实现,但访问实际集合的方法应该限制在接口方法的使用上;因此,允许您更改基本的数据结构而不必改变其它代码. Java集合的顶层接口是Collection,Collection 接口是一组允许重复的对象.Java集合框架主要由以下三个接口组成: (1) Set 接口继承Collection,但不允许重复,使用自己内部的一个排列机制. (2) List 接口继承Collection,允许重复,以元素安插的次序来放置元素,不会重新排列.

(3) Map接口是一组成对的键-值对象,即所持有的是 key-value pairs.Map中不能有重复的key,拥有自己的内部排列机制. 容器中的元素类型都为Object,从容器取得元素时,必须把它转换成原来的类型.简化后的集合框架图如下: 2. 接口Collection 用于表示任何对象或元素组,想要尽可能以常规方式处理一组元素时,就使用这一接口. (1) 单元素添加、删除操作: boolean add(Object o):将对象添加给集合 boolean remove(Object o): 如果集合中有与o相匹配的对象,则删除对象o (2) 查询操作: int size():返回当前集合中元素的数量 boolean isEmpty():判断集合中是否有任何元素 boolean contains(Object o):查找集合中是否含有对象o Iterator iterator():返回一个迭代器,用来访问集合中的各个元素 (3) 组操作:作用于元素组或整个集合 boolean containsAll(Collection c): 查找集合中是否含有集合c 中所有元素 boolean addAll(Collection c) : 将集合c 中所有元素添

java集合-练习题解析

1. 填空 Collection 接口的特点是元素是___无序可重复______; List 接口的特点是元素__有__(有|无)顺序,_可以___(可以|不可以)重复; Set 接口的特点是元素__无___(有|无)顺序,____不可以__(可以|不可以)重复;Map 接口的特点是元素是__key、value映射______,其中__value__可以重复,_key___不可以重复。 2. (List)有如下代码 import java.util.*; public class TestList{ public static void main(String args[]){ List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(1, “Learn”); list.add(1, “Java”); printList(list); } public static void printList(List list){ //1 for(int i = 0; i< list.size();i++){ System.out.println(list.get(i)); } for(Object o : list) { System.out.println(o); } Iterator itor = list.iterator(); while(itor.hasNext()){ System.out.println(itor.next()); } } } 要求: 1) 把//1 处的代码补充完整,要求输出list 中所有元素的内容 2) 写出程序执行的结果Hello Java Learn World 3) 如果要把实现类由ArrayList 换为LinkedList,应该改哪里?ArrayList 和LinkedList 使用上有什么区别?实现上有什么区别? 4) 如果要把实现类由ArrayList 换为Vector,应该改哪里?ArrayList 和Vector 使 用上有什么区别?实现上有什么区别? 3. (List)写出下面程序的运行结果

java常用类知识点总结

java常用类知识点总结 Java常用类 要求: 1、掌握String和StringBuffer的区别,可以熟练使用String和StringBuffer的各 种方法进行相关操作。 2、能够自己编写一个得到日期的操作类,并将日期进行格式化操作。 3、掌握比较器及其基本原理,并可以通过比较器进行对象数组的比较操作。 4、掌握对象克隆技术及其实现 5、能够灵活应用正则表达式对字符串的组成进行判断 6、掌握Math、Random、基本数据类型的包装类的使用 7、描述出Object System对垃圾收集的支持 8、使用NumberFormat、DecimalFormat、BigInteger、BigDecimal进行数字的操 作 String和StringBuffer String的内容一旦声明不可改变,如果要改变,改变的是String的引用地址,如果一个字符串要经常改变,必须使用StringBuffer。 在一个字符串内容需要频繁修改时,使用StringBuffer可以提升操作性能,因为StringBuffer内容可以改变,而String内容不可改变。StringBuffer支持的方法大部分与String类似。 StringBuffer常见用法: (1) 字符串的连接操作

String类可以通过“+“进行字符串的连接,而StringBuffer中却只能使用append方法进行字符串的连接,而且此方法返回一个StringBuffer类的实例,这样就可以采用代码链的形式一直调用append方法。 (2) 在任意位置处为StringBuffer添加内容 可以使用insert方法在指定位置上为StringBuffer添加内容 字符串的反转操作(较为常见的操作,使用reverse方法) (3) 替换指定范围的内容 replace方法可对指定范围的内容进行替换。在String中如果要替换,使用的是replaceAll (4) 字符串截取(使用subString方法从指定范围中截取内容) (5) 删除指定范围的字符串(使用delete方法删除指定范围内容) (6) 查找指定内容是否存在(indexOf查找指定内容,查找到返回内容的位置, 没查到返回-1) 问题:(1)String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有, 没有。因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。在这段代码中,s原先指向一个String对象,内容是 "Hello",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢,答案是没有。这时,s不指向原来那个对象了,而指向了另一个 String对象,内容为"Hello world!",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。通过上面的说明,我们很容易导出另一个结论,如果经常对字符串进行各种各样的修改, 或者说,不可预见的修改,那么使用String来代表字符串的话会引起很大的内存开销。因为 String对象建立之后不能再改变,所以对于每一个不同的字符

Java类集合之List详解

Java集合框架之List详解 ArrayList 首先我们熟悉下ArrayList类中常用方法的使用。 1)添加:public boolean add(Object e):将指定的元素(对象)添加到此列表的尾部 2)获取:public Object get(int index):返回此列表中指定位置(索引)上的元素。 3)元素的个数:public int size():返回此列表中的元素数。 4)清空:public void clear():移除此列表中的所有元素。此调用返回后,列表将为空。 5)是否为空:public boolean isEmpty():如果此列表中没有元素,则返回 true 6)移除(删除):public E remove(int index):移除此列表中指定位置上的元素。向左移动所有后续元素(将其索引减 1)。 7)移除(重载):public boolean remove(Object o):移除此列表中首次出现的指定元素(如果存在)。如果列表不包含此元素,则列表不做改动。更确切地讲,移除满足 (o==null ? get(i)==null : o.equals(get(i))) 的最低索引的元素(如果存在此类元素)。如果列表中包含指定的元素,则返回 true (或者等同于这种情况:如果列表由于调用而发生更改,则返回 true)。8)获得索引:public int indexOf(Object o): 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。更确切地讲,返回满足(o==null ? get(i)==null : o.equals(get(i))) 的最低索引 i ,如果不存在此类索引,则返回 -1。 如何使用这些方法,代码如下: import java.util.ArrayList; public class ArrayListTest { public static void main(String[] args) { ArrayList list=new ArrayList(); /* * 添加 */ list.add("hello"); list.add(" world"); list. add(" welcome"); /* * 获得 */ String s1=(String)list.get(0);

相关文档
最新文档