A list is a collection which contains immutable data. List represents linked list in Scala. A List is immutable, if we need to create a list that is constantly changing, the preferred approach is to use a ListBuffer.
The Scala List class holds a sequenced, linear list of items. A List can be built up efficiently only from back to front. the ListBuffer object is convenient when we want to build a list from front to back. It supports efficient prepend and append operations.
Once we are done creating our list, call the
toList method. To convert the ListBuffer into a List, Time taken will be constant. To use ListBuffer,
scala.collection.mutable.ListBuffer class is imported, an instance of ListBuffer is created.
var name = new ListBuffer[datatype]() // empty buffer is created var name = new ListBuffer("class", "gfg", "geeksforgeeks")
In the above example, first, an empty buffer is created here datatype indicates the type of data such as integer, string. Then created a buffer with three elements, of type string.
Below operation can be performed on ListBuffer –
- By using L += e we can appends the element e in constant time.
- By using e +=: L we can prepends the element e in constant time.
- L.toList In constant time, It returns a list with the contents of the ListBuffer . We should not use the ListBuffer once changing it to a list.
Operations on ListBuffer
Creating instance of ListBuffer:
ListBuffer(GeeksForGeeks, gfg, Class)
Access element from ListBuffer:
Element is accessed same as list,
ListBuffer(i) is used to accessed ith index element of list.
Adding elements in ListBuffer:
- Add single element to the bufferListBuffer+=( element)
- Add two or more elements (method has a varargs parameter)ListBuffer+= (element1, element2, ..., elementN )
- Append one or more elements (uses a varargs parameter)ListBuffer.append( elem1, elem2, ... elemN)
ListBuffer(GeeksForGeeks, gfg, class, Scala, Article)
Deleting ListBuffer Elements:
- Remove one elementListBuffer-= (element)
- Remove multiple elementsListBuffer-= (elem1, elem2, ....., elemN)
Deleting ListBuffer Elements using
remove() method is used to delete one element by its position in the
ListBuffer, or a series of elements beginning at a starting position.
ListBuffer(gfg, class, Scala, Article) ListBuffer(gfg)