How to append a string column to array string column in Scala Spark without using UDF?

I have a table which has a column containing array like this –

Student_ID | Subject_List        | New_Subject
1          | [Mat, Phy, Eng]     | Chem

I want to append the new subject into the subject list and get the new list.

Creating the dataframe –

val df = sc.parallelize(Seq((1, Array("Mat", "Phy", "Eng"), "Chem"))).toDF("Student_ID","Subject_List","New_Subject")

I have tried this with UDF as follows –

def append_list = (arr: Seq[String], s: String) => {
    arr :+ s
  }

val append_list_UDF = udf(append_list)

val df_new = df.withColumn("New_List", append_list_UDF($"Subject_List",$"New_Subject"))

With UDF, I get the required output

Student_ID | Subject_List        | New_Subject | New_List
1          | [Mat, Phy, Eng]     | Chem        | [Mat, Phy, Eng, Chem]

Can we do it without udf ? Thanks.

How to append a string column to array string column in Scala Spark without using UDF?