JavaSE基础(九)Java集合

Java集合

为什么会出现集合类:

   面向对象编程语言对事物的描述都是通过对象来体现的。

方便对多个对象进行操作,必须对多个对象进行存储,想对多个对象进行存储

就不能是一个基本的变量,应该是一个容器类型的变量

StringBuilder的结果只能是一个字符串类型,不一定满足我们的需求

数组的长度是固定的,适应不了变化的需求,集合类

集合类的特点:

长度可变

ArrayList<E>

大小可变数组的实现

<E>是一种特殊的数据类型:泛型

怎么用:在出现E的地方我们使用引用数据类型替换即可

举例:ArrayList<String>,ArrayList<Student>

构造方法

  ArrayList();

添加元素: public boolean add(E e) 添加元素

               public void add(int index,E element):在指定的索引处添加一个元素

获取元素

    public E get(int index):返回指定索引处的元素

集合长度:

public int size():返回集合中的元素的个数

删除元素:

 public boolean remove(Object o):删除指定的元素,返回删除是否成功

 public E remove(int index):删除指定索引处元素,返回删除的元素

修改元素:

public E set(int index, E element):修改指定索引处的元素,返回被修改的元素

ArrayList集合的遍历:通过size()和get()配合实现

用法格式:

   for(int x=0;x<array.size;x++){

       String s=array.get(x);

       System.out.printlnt(S);

}

IO流的概述和分类

IO流:

可以把数据存储到文件,也可以从文件中读取数据

IO流:

 输入流:读数据

写数据:输出流

写数据--输出流--FilerWriter。

FileWrither:

   FileWriter(String fileName):传递一个文件名称

输出流写数据的步骤:

    1.创建输出流对象

     2.调用输出流对象的写数据方法

      3.释放资源

创建输出流对象做了哪些事情:

1.调用系统资源创建一个文件

 2.创建输出流对象

3.把输出流对象指向文件

数据没有直接写到文件,写到内存缓冲区

 void flush;通过刷新

void close:释放资源

相对路径:相对当前项目而言,在项目的根目录下(a.txt)

绝对路径:以盘符开始的路径:(d:\\a.txt)

close()和flush()方法的区别

flush()刷新缓冲区(流对象还可以继续使用)

close()先刷新缓冲区,然后通知系统释放资源,流对象不可以再被使用了

FileWriter写数据的方法:

方法解释:

    void write(String str):写一个字符串数据

    void write(String str, int index,int len);写一个字符串的一部分数据

   void write(int ch):写一个字符数据,这里写int类型的好处是既可以写char类型的数据 也可以写char对应的int类型的值‘a’,97

  void write(char [] chs):写一个字符数组数据

  void write(char [] chs, int index,int len):写一个字符数组的一部分数据

  FileWriter写数据的常见问题

如何实现数据的换行,但是windows系统自带的记事本打开并没有换行,

 windows: \r\n

linux:\n

mac:\r

如何追加写入:

FileWriter(String fileName,boolean append)

eg:FileWriter fw=new FileWriter(“c.txt”,true);表示追加写入,默认false

FileReader 读数据并显示到控制台

 读数据--输入流--FileReader:

 FileReader(String fileName):传递文件名称

输入流读文件:

   1.创建输入流对象

    2调用输入流对象的读数据方法

   .3.释放资源

java  :FileNotFoundException:fr.txt(系统找不到指定的文件)

调用输入流对象的读数据方法

  int read():一次读取一个字符

  读取数据的返回值是-1时候,说明没有数据了,循环结束

 int read(char [] cbuf):一次读取一个字符数组的数据。

缓冲流:

   BufferedWriter:将文写入字符输出流,缓冲各个字符:从而提供单个字符,数组和字符串的高效写入

   BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符数组和行的高效读取

eg:BufferedWriter bw=new BufferdWriter(new FilerWriter(“bw.txt”));

    BufferedRead br=new BufferedReader(new FileReader(“FileWriter Demo.java”));

缓冲流的特殊功能:

   BufferedWriter

                  void newLine():写一个换行符,这个换行符由系统决定

 BufferedRead:

        String readLine():一次读取 一行数据,但是不读取换行符。

发布了49 篇原创文章 · 获赞 31 · 访问量 2901

猜你喜欢

转载自blog.csdn.net/cjy_lean/article/details/100423501