Class StringContainer


  • public class StringContainer
    extends Object
    this class is used to concatenate Strings effectively.It contains a StringBuilder and initialize it until toString is called. Note:it's not thread safety
    • Constructor Detail

      • StringContainer

        public StringContainer()
        defines the constructor function for the class.
      • StringContainer

        public StringContainer​(String joinSeparator)
        defines the constructor function for the class.
      • StringContainer

        public StringContainer​(String[] strings)
      • StringContainer

        public StringContainer​(String[] strings,
                               String joinSeparator)
    • Method Detail

      • size

        public int size()
      • length

        public int length()
      • getSequenceList

        public List<String> getSequenceList()
      • getReverseList

        public List<String> getReverseList()
      • addTail

        public StringContainer addTail​(Object... objs)
        add a objects array at this container's tail.
        Parameters:
        objs - -to be added
        Returns:
        another string contains objs as tail
      • addTail

        public StringContainer addTail​(String... strings)
        add a Strings array at this container's tail.
        strings:"a","b","c",
        StringContainer this:["d","e","f"],
        result:this:["d","e","f","a","b","c"],
        Parameters:
        strings - - to be added
        Returns:
        - this object
      • addTail

        public StringContainer addTail​(StringContainer myContainer)
        add a StringContainer at this container's tail.
        param StringContainer:["a","b","c"],
        this StringContainer :["d","e","f"],
        result:this:["d","e","f","a","b","c"],
        Parameters:
        myContainer - - to be added
        Returns:
        - this object
      • addHead

        public StringContainer addHead​(String... strings)
        add a Strings array from this container's header.
        strings:"a","b","c",
        StringContainer this:["d","e","f"],
        result:this:["a","b","c","d","e","f"],
        Parameters:
        strings - - to be added
        Returns:
        - this object
      • addHead

        public StringContainer addHead​(StringContainer myContainer)
        add a StringContainer from this container's header.
        StringContainer m:["a","b","c"],
        StringContainer this:["d","e","f"],
        result:this:["a","b","c","d","e","f"],
        Parameters:
        myContainer - - given StringContainer to be add in head
        Returns:
        - this object
      • join

        public String join​(String separator)
        for all string in rev and seq, concat them with separator and return String.
        Parameters:
        separator - separator of string
        Returns:
        - result joined in type of String with parameter
      • getSubString

        public String getSubString​(int index)
        return a sub-string in this container.
        e.g. this container is ["aa","bbb","cc","d","ee"]; this.getSubString(0) = "a"; this.getSubString(2) ="c";this.getSubString(-1) = "ee";
        Parameters:
        index - - the index of wanted sub-string
        Returns:
        - substring result
      • getSubStringContainer

        public StringContainer getSubStringContainer​(int start,
                                                     int end)
        /** return a sub-container consist of several continuous strings in this container.If start <= end, return a empty container e.g. this container is ["aa","bbb","cc","d","ee"]; this.getSubString(0,0) = ["aa"]
        this.getSubString(1,3) = ["bbb","cc","d"]
        this.getSubString(1,-1) = ["bbb","cc","d", "ee"]
        Parameters:
        start - - the start index of wanted sub-string
        end - - the end index of wanted sub-string
        Returns:
        - substring result
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public boolean equals​(StringContainer sc)
        judge whether the param is equal to this container.
        Parameters:
        sc - -StringContainer Object to judge whether the object is equal to this container
        Returns:
        boolean value to judge whether is equal