Open In App

StringTokenizer Methods in Java with Examples | Set 2

Improve
Improve
Like Article
Like
Save
Share
Report

StringTokenizer class in Java is used to break a string into tokens. One must go through StringTokenizer class where concepts and constructors are discussed which help in better understanding  methods that are been discussed here below as follows:

Methods of StringTokenizer class are as follows:

  • hasMoreToken
  • nextToken
  • countTokens
  • nextElement
  • hasMoreElements

Method 1: hasMoreTokens()

The method plays role in testing if tokens are present for the StringTokenizer’s string. Those characters that are considered to be delimiters by the StringTokenizer object are changed to characters in the string delimiter. Then the next token to the current position in the string is returned. 

Syntax:

public boolean hasMoreTokens()

Return Type: A boolean value, true if and only if next token to the current position in the string exists, else false.

Method 2: nextToken()

The method returns the next token from the given StringTokenizer. 

Syntax:

public String nextToken()

Return Type: The next token from the given StringTokenizer if present.

Exception Thrown: NoSuchElementException if no more tokens are left.

Method 3: countTokens()

The method returns the total number of tokens present so that we can use nextToken() method before it gives an exception.

Syntax:

public int countTokens()

Return Type: the number of tokens remaining in the string using the current delimiter set.

Example 

Java




// Java Program to Illustrate Methods of StringTokenizer class
// Via hasMoreToken(), nextToken() and countTokens()
 
// Importing required classes
import java.util.*;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String args[]) {
         
        // Input strings
        String mydelim = " : ";
        String mystr = "JAVA : Code : String : Tokenizer : Geeks";
 
        // Use of Constructor 2
        // Here we are passing Delimiter - "mydelim"
        StringTokenizer geeks3 =
            new StringTokenizer(mystr, mydelim);
 
        // Printing count of tokens and tokens
        // using countTokens() method
        int count = geeks3.countTokens();
        System.out.println("Number of tokens : " + count + "\n");
 
        // Iterating to get the tokens
        for (int i = 0; i < count; i++)
            System.out.println("token at [" + i + "] : "
                               + geeks3.nextToken());
 
        // checks for more tokens using hasMoreTokens() method
        // which holds true till there is single element remaining
        while (geeks3.hasMoreTokens())
 
            // Returning the next token
            // using nextToken() method
            System.out.println(geeks3.nextToken());
    }
}


Output

Number of tokens : 5

token at [0] : JAVA
token at [1] : Code
token at [2] : String
token at [3] : Tokenizer
token at [4] : Geeks

Method 4: nextElement()

The method works similar to nextToken except that it returns an Object rather than String. Exists so that this class can implement the Enumeration interface. 

Syntax:

public Object nextElement()

Return Type: the next token from the given StringTokenizer.

Exception Thrown: NoSuchElementException if there are no more tokens left.

Method 5: hasMoreElements()

This method returns the same value as hasMoreToken. It exists so that the class can implement the Enumeration interface. 

Syntax:

public boolean hasMoreElements()

Return Type: A boolean value, true if tokens are present in the string, else false

Example 

Java




// Java Program to Illustrate Methods of StringTokenizer
// Class Via hasMoreElements, nextElement and nextElement
 
// Importing required classes
import java.util.*;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String args[])
    {
 
        // Input strings
        String mydelim = " : ";
        String mystr
            = "JAVA : Code : String : Tokenizer : Geeks";
 
        // Use of Constructor 2
        // Here we are passing Delimiter - "mydelim"
        StringTokenizer geeks
            = new StringTokenizer(mystr, mydelim);
 
        // Counting no. of tokens present
        // using countTokens() method
        int count = geeks.countTokens();
 
        // Printing no. of tokens present
        System.out.println("Number of tokens : " + count);
 
        //  Condition holds true till there is
        // single token remaining using hasMoreElements()
        // method True if tokens are present
        while (geeks.hasMoreElements())
 
            //  Returning the next token
            // using nextElement() method
            System.out.println(geeks.nextElement());
    }
}


Output

Number of tokens : 5
JAVA
Code
String
Tokenizer
Geeks

Tip: Do remember certain important points as listed:

  • countTokens() method is a good alternative in using the combination hasMoreTokens() and nextToken().
  • The combination of countTokens() and nextToken() is used if you are interested in the number of tokens also.

 



Last Updated : 30 Jun, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads