持久性数据结构

如果数据结构能够将其先前的更新维护为单独的版本,并且可以相应地访问和更新每个版本,则该数据结构被称为持久性数据结构。它使数据结构不可变且线程安全。例如,Java 中的 String 类对象是不可变的。每当我们对字符串进行任何更改时,JVM 都会创建另一个字符串对象,为其分配新值,并将旧值保留为旧字符串对象。

持久性数据结构也称为功能性数据结构。考虑以下情况 −

非持久性方式

public static Person updateAge(Person person, int age){
   person.setAge(age);
   return person;
}

持久化方式

public static Person updateAge(Person pPerson, int age){
   Person person = new Person();
   person.setAge(age);
   return person;
}