How do i place a GameObject into a Scene from a List that stores GameObjects

I think i’m having trouble understanding what a list that stores GameObjects is, or what it exactly stores…

I was messing around and i tried creating a script that stores gameobjects and then brings them back. But i have no clue how to put them back into the scene. Im having trouble in the “Drop” function

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GameObjectListTest : MonoBehaviour
    public List<GameObject> Inventory = new List<GameObject>();
    public GameObject TestCube;
    void Start(){

    void Pickup(List<GameObject> inventorylist, GameObject item){

    void Drop(List<GameObject> inventorylist, int index){
        if (inventorylist[index].name != null){

            //bring back the item into the scene, or make a replica of the item and put it onto the scene

    // Update is called once per frame
    void Update()
            Pickup(Inventory, TestCube);

            Drop(Inventory, 0);

im kind of a newb, and i do not really understand what List stores…

Destroy() method removes the GameObject from the scene permanently. You should use item.SetActive(bool value).