2165310 《Java程序设计》第6周学习总结

教材学习内容总结

String

  • 构造

    • String str=new String()
    • String (char a[])
    • String (char a[],int startIndex,int count)
  • 并置
    • 常量的并置是常量(可以用==进行比较)
    • 变量的并置是新对象(不能用==只能用equals()进行比较
  • 常用方法
    • public int length():获得String对象的字符序列长度。
    • public boolean equals(String s) :比较字符序列是否相同。
    • 比较
      1. public boolean startsWith(String s):比较字符序列前缀是否为指定字符序列。
      2. public boolean endsWith(String s):比较字符序列后缀是否为指定字符序列。
      3. public int compareTo(String s):按字典序列与指定字符序列s比较大小。
    • 索引
      1. public boolean contains(String s):判断是否包含指定 字符序列
      2. public int indexOf(String s):返回s首次出现的位置
      3. public int lastIndexOf(String s):返回s最后出现的位置
      4. public int indexOf(String s,int startpoint):返回指定索引开始位置之后的,s首次出现的位置
    • 从String获得String新对象
      1. public String substring(int startpoint):返回复制指定位置到最后位置的字符序列所得到的新序列
      2. public String substring(int start,int end):返回复制指定开始位置到指定结束位置的字符序列所得到的新序列
  • 字符串与基本指定数据类型的相互转化
    • 基本数据类型转化为String类:public static String valueOf(<基本数据类型> n)
    • String类型转化为基本数据类型:<基本数据类型> n=<相应类>.parse<相应数据类型>(s)
  • 对象的字符串表示:public String toString():返回创建对象类名@对象的引用的字符串,可重写。
  • 字符串与字节数组、字节数组
    • 字符串转化为字符数组

      1. public void getChars(int start,int end,char c[],int offset):从数组C的offset处存放String类字符序列sart到end-1处的字符。
      2. public char[] toCharArray():返回一个长度相等的数组。
    • 字符数组转化为字符串:见String类构造
    • 字符串转化为字节数组
      1. public byte[] getBytes():使用默认字符编码,存放String的字符序列到字节数组中,并返回引用。
      2. public byte[] getBytes(String charsetName):使用指定字符编码,存放String的字符序列到字节数组中,并返回引用。(可能返回UnsupportedEncodingException异常)
    • 字符串转化为字符数组
      1. String(byte[]):用指定字节数组构造一个String对象。
      2. String(byte[],int offset,int length):从字节数组offset位置取length个字节构造String对象。
  • 替换(利用正则表达式
    • public String repalceAll(String regex,String replacement):用replacement字符序列替换regex匹配的序列。
  • 分解(利用正则表达式
    • public String[] split(Sring regex):存放按照regex分割的单词在String数组中。(注意前缀是否匹配影响数组存放

      StringBuff

  • 构造
    • StringBuff()
    • StringBuff(int size)
    • StringBuff(String s)
  • 获得相关信息
    • length():获取字符序列长度
    • capacity():获得实体容量
  • 常用方法:
    • append方法

      1. StringBuff append(String s):追加s到StringBuff中。
      2. StringBuff append(int n):n转化为String类,追加到StringBuff中。
      3. StringBuff append(Object o):追加o的字符序列表示到StringBuff中。
    • public char charAt(int n):得到StringBuff位置n处的字符。
    • public void setChar(int n,char ch):用ch替换StringBuff位置n处的字符。
    • StringBuff insert(int index,String str):在index位置处插入str。
    • public StringBuff reverse():翻转StringBuff字符序列。
    • StringBuff replace(int startIndex,int endIndex,String str):用str替换startIndex到endIndex-1处的字符序列。

      分解字符序列

  • StringTokenizer(不可用正则表达式
    • 构造方法:

      1. StringTokenizer(String s):默认分隔标记分析s。
      2. StringTokenizer(String s,String delim):指定分隔标记delim分析s。
    • 常用方法:
      1. hasMoreTokens():查看计数变量是否大于一。
      2. nextTokens():逐个获取String对象单词。
      3. countTokens():获得计数变量的值。
  • Scanner(可用正则表达式)
    • 构造方法:Scanner scanner=new Scanner(str)
    • 常用方法
      1. useDelimiter(正则表达式):利用正则表达式解析str。
      2. hasnext():判断最后一个单词是否被返回。
      3. next():依次返回单词。
      4. nextInt()或者nextDouble:依次返回单词并进行类型转换为int或者double型。

        正则表达式:

        在假期实验楼学习和书本p186到188中都有,已经整理过不多加赘述。

        Random

  • 构造方法:
    • public Random()
    • public Random(seed)
  • 常用方法
    • nextInt(int n):返回0-n之间的某个整数。
    • nextDouble():返回0-1.0之间的随机数。
    • nextDouble():返回0-1.0之间的随机数。
    • nextBoolean():随机返回true或者false。

      Console

  • 构造
    • 引入java.io包
    • Console cons=System.comsole()
  • 键盘键入
    • char[] passwd=cons.readPasswoerd()

      泛型

  • 泛型类声明:class 名称<泛型列表>
  • 声明对象:同样多加一个

    链表

  • 构造:LinkedList<String>mylist=new LinkList<String>()
  • 常用函数
    • public boolean add(E element):链表末尾添加数据为element的新结点。
    • public boolean add(int index,E element):链表指定位置添加数据为element的新结点。
    • public boolean clear():删除链表所有结点,使成为空链表。
    • public boolean remove(E element):删除链表首次出现element的结点。
    • public E remove(int index):删除指定位置结点。
    • public int indexOf(E element):返回首次出现element的位置,没有返回-1。
    • public int lastIndexOf(E element):返回最后出现element的位置,没有返回-1。
    • public E set(int index,E element):替换index位置结点数据为element。
    • public int size():返回链表长度,即结点个数。
    • public boolean contains(Object element):判断是否有结点数据为element。
    • public boolean addFirst(E element):链表头添加数据为element的新结点。
    • public boolean addLast(E element):链表末尾添加数据为element的新结点。
    • public E getFirst:得到第一个结点中的数据。
    • public E getLast:得到最后结点中的数据。
    • public E removeFirst(int index):删除第一个结点,并返回这个结点数据。
    • public E removeLast(int index):删除最后一个结点,并返回这个结点数据。
    • public Object clone():得到一个克隆列表。
  • 迭代器:
    • 构造: Iterator <String> iter=list.iterator()
    • iter.hasNext()
    • iter.next()
  • 排序和查找:
    • public static sort(List<E>list):元素升序排列
    • int binarySearch(List<T>list,T key,CompareTo<T> c):折半查找是否含有参数key
  • 洗牌与翻转
    • public static void shuffle<List<E> list):洗牌
    • static void rotate(List<E> list,int distance):旋转
    • `public static void reserve<List<E> list):翻转

      堆栈

  • 创建:Stack<E>
  • 压栈:public E push(E item)
  • 弹栈:public E pop()
  • 判断是否空栈:public boolean empty()
  • 获取栈顶数据:public E peek()
  • 返回数据索引:public int search(Object data)

    散列映射

  • 构造:HashMap<String,Student> hashtable=HashSet<String,Student>()
  • 常用方法
    • public void clear():清空
    • public Object clone():返回当前散列映射的一个克隆
    • public boolean containsKey(Object key):判断是否有键/值对使用了参数指定的键
    • public boolean containsValue(Object value):判断是否有键/值对使用了参数指定的值
    • public V get(Object key):返回用key做键的键/值对中的值
    • public boolean isEmpty():判断是否不含任何键/值对
    • public V remove(Object key):删除key做键的键/值对,返回对应的值
    • public int size():返回散列映射大小,即键/值对数目

      树集

  • 构造:TreeSet<E>
  • 常用方法:
    • public boolean add(E o):添加结点,数据为参数o
    • public void clear():删除所有结点
    • public void contains(Object o):判断是否包含指定参数的对象
    • public E first():返回第一个结点中的数据
    • public E last():返回最后一个结点中的数据
    • public boolean isEmpty():判断是否空集
    • public boolean remove(Object key):删除存储指定参数的最小结点
    • public int size()`:返回结点数目
  • 树映射
    • TreeMap<K,V,>

      教材学习中的问题和解决过程

  • Mac中一个字符占三个字节,一开始以为占两个字节,导致运行结果是乱码
  • 解决过程:和结对学习的小组成员共同讨论,查找,发现问题后改正。

    代码托管



    上周考试错题总结

  • 测试完成后补充

20165310java_blog_week6的更多相关文章

随机推荐

  1. FZU - 2150 Fire Game bfs+双起点枚举

    题意,10*10的地图,有若干块草地“#”,草地可以点燃,并在一秒后点燃相邻的草地.有墙壁‘·‘阻挡.初始可以从任意两点点火.问烧完最短的时间.若烧不完输出-1. 题解:由于100的数据量,直接暴力. ...

  2. MySQL存储引擎中的MyISAM和InnoDB

    在使用MySQL的过程中对MyISAM和InnoDB这两个概念存在了些疑问,到底两者引擎有何分别一直是存在我心中的疑问.为了解开这个谜题,搜寻了网络,找到了如下信息: MyISAM是MySQL的默认数 ...

  3. iOS-数据缓存(转载)

    一.关于同一个URL的多次请求 有时候,对同一个URL请求多次,返回的数据可能都是一样的,比如服务器上的某张图片,无论下载多少次,返回的数据都是一样的. 上面的情况会造成以下问题 (1)用户流量的浪费 ...

  4. Borg Maze---poj3026最小生成树+bfs

    题目链接:http://poj.org/problem?id=3026 题意:可以理解为给你一个地图上面有S和A的表示一个一个的点,#表示墙,所以需要我们用bfs来计算各点之间的距离: b[i][j] ...

  5. PostGIS 快速入门(转)

    原文:http://live.osgeo.org/zh/quickstart/postgis_quickstart.html PostGIS 是 PostgreSQL 关系数据库的空间操作扩展.它为 ...

  6. VMware上安装VMware tools

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/walkerkalr/article/details/34896407  VMware上安装VMw ...

  7. 008-插件方式启动web服务tomcat,jetty

    一.pom引入 1.tomcat7 <!-- tomcat7 --> <plugin> <groupId>org.apache.tomcat.maven</g ...

  8. 应用笔画宽度变换(SWT)来检测自然场景中的文本

    Introduction: 应用背景:是盲人辅助系统,城市环境中的机器导航等计算机视觉系统应用的重要一步.获取文本能够为许多视觉任务提供上下文的线索,并且,图像检索算法的性能很大部分都依赖于对应的文本 ...

  9. APICloud-端JS库功能API文档(1)

    框架简介: 框架基于APICloud官网端API进行扩展和封装,框架完全采用面向对象编程形式,里面包含APP所使用的常用js功能:js类的自定义(类,构造方法,静态方法,继承...),常用工具函数(验 ...

  10. Git:pull --rebase 和 merge --no-ff

    首先是吐嘈 如果你正在 code review,看到上图(下文将称之为:提交线图)之后,特别是像我这样有某种洁癖的人,是否感觉特别难受?如果是的话,请看下文吧 :) 为什么 Git 作为分布式版本控制 ...