• SpaceNoodle@lemmy.world
    link
    fedilink
    English
    arrow-up
    79
    arrow-down
    2
    ·
    10 months ago

    It’s a dynamically-sized list of objects of the same type stored contiguously in memory.

      • Fosheze@lemmy.world
        link
        fedilink
        English
        arrow-up
        54
        ·
        edit-2
        10 months ago

        It’s a dynamically-sized list of objects of the same type stored contiguously in memory.

        dynamically-sized: The size of it can change as needed.

        list: It stores multiple things together.

        object: A bit of programmer defined data.

        of the same type: all the objects in the list are defined the same way

        stored contigiously in memory: if you think of memory as a bookshelf then all the objects on the list would be stored right next to each other on the bookshelf rather than spread across the bookshelf.

        • kbotc@lemmy.world
          link
          fedilink
          English
          arrow-up
          7
          ·
          10 months ago

          Dynamically sized but stored contiguously makes the systems performance engineer in me weep. If the lists get big, the kernel is going to do so much churn.

      • KidnappedByKitties@lemm.ee
        link
        fedilink
        English
        arrow-up
        5
        ·
        10 months ago

        This is such an understated but useful description in this context. It’s also how I understood algebra for applied matrix computation.

        • Leate_Wonceslace@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          4
          arrow-down
          1
          ·
          edit-2
          10 months ago

          I was just coming down from THC when I wrote this, so I’m extra jazzed you liked it. 😁

          Edit: also, love the username.

      • unalivejoy@lemm.ee
        link
        fedilink
        English
        arrow-up
        9
        ·
        edit-2
        10 months ago

        No. ArrayList is thread safe and implements the collections API. Vector doesn’t. Though if you’re using Java, there’s almost no instance where you would want to use a Vector instead of ArrayList.

            • DaPorkchop_@lemmy.ml
              link
              fedilink
              English
              arrow-up
              1
              ·
              10 months ago

              Only if one thread modifies it while another one is iterating over it, if two threads try to modify the list at once there isn’t any kind of synchronization and it really could break your list.

              • unalivejoy@lemm.ee
                link
                fedilink
                English
                arrow-up
                1
                ·
                10 months ago

                For everything else, there’s Collections.synchronizedList(new ArrayList<>())