100 likes | 542 Views
StringBuffer class. Alternative to String class Can be used wherever a string is used More flexible than String Has three constructors and more than 30 methods for managing the buffer and modifying strings in the buffer See page 266. Constructing a string buffer. Three constructors
E N D
StringBuffer class • Alternative to String class • Can be used wherever a string is used • More flexible than String • Has three constructors and more than 30 methods for managing the buffer and modifying strings in the buffer • See page 266
Constructing a string buffer • Three constructors • Public StringBuffer() • StringBuffer st = new StringBuffer(); • Public StringBuffer(int length) • StringBuffer st2 = new StringBuffer(10); • Public StringBuffer(String str) • StringBuffer st3 = new StringBuffer(“Hello”);
Modifying string in the buffer • Append at the end of a string • Insert new contents at a specified position in a string buffer • Replace characters in a string buffer
The StringTokenizer class • java.util.StringTokenizer • Used to break a string into pieces so that information contained in it cab be retrieved and processed. • For example, a string “I am learning Java now”, you create an instance of a stringTokenizer class for the string and then retrieve individual words in the string by using methods in StringTokenizer
Constructors for StringTokenizer • public StringTokenizer(String s, String delim, boolean returnTokens) • Constructs a StringTokenizer for string s with specified delimiters. If returnTokens is true, the delimiters is returned as a token. • Public StringTokenizer(String s, String delim) • Constructs a Stringtokenizer for a string s with specified delimiters delim and the delimiter is not a token • Public StringTokenizer(String s) • Constructs a StringTokenizer for string s withh default delimiters, a space, tab, new line, and the delimiter is not a token
Methods in StringTokenizer • int countTokens() • Return number of tokens remaining in the StringTokenizer • boolean hasMoreTokens() • Return true if more token left, flase if no token left • String nextToken() • Return the next token(string) stored in StringTokenizer • String nextToken(String delim) • Return the next token(string) after reseting the delimiter to delim
In-class practice • How do you create a string buffer from a string? How do you get the string from a string buffer? • Declare a StringTokenizer for a string a with slash(/) as delimiter • Write statements to reverse a string s using the revere method in the StringBuffer class
In-class practice • What is the output of the following program • import java.util.StringTokenizer; • Class TestStringTokenizer{ • public static void main(String[] arg){ • String s= “I/am\learning Java.”; • StringTokenizer st = new StringTokenizer(s, “/\.”); • While(st.hasMoreTokens()) • System.out.print(st.nextToken() + “ “); • }}
Challenge • Write a method that checks whether two strings are anagrams. Two strings are anagrams if they contain the same characters in any order. For example, “silent” and “listen” are anagrams. • Public static boolean isAnagrams(String s1, String s2)