Kontener (lub inaczej pojemnik, ang. container, collection) - struktura danych, której zadaniem jest przechowywanie w zorganizowany sposób zbioru danych (obiektów). Kontener zapewnia narzędzia dostępu, w tym dodawanie, usuwanie i wyszukiwanie danej (obiektu) w kontenerze. W zależności od przyjętej organizacji, poszczególne kontenery różnią się wydajnością poszczególnych operacji.
Najprostszym kontenerem, oferowanym przez większość języków jest tablica. Bardziej złożone kontenery charakteryzować może specyficzna organizacja przechowywanych danych lub istnienie dodatkowych operacji do manipulowania zawartością.
Kontenery nakładają czasem pewne ograniczenia na dane, które mogą być w nich przechowywane. Ograniczenia te wynikają zazwyczaj z przyjętej struktury przechowywania danych, zależności pomiędzy danymi itp.
Kontenery mogą mieć typ polimorficzny, dzięki czemu można precyzyjnie określić typ przechowywanych danych. Języki takie jak Java czy C++ oferują biblioteki kontenerów wspierających polimorfizm parametryczny, w których można przechowywać wartości dowolnie określonych typów.