Skip to content

Instantly share code, notes, and snippets.

View thinkphp's full-sized avatar

Adrian Statescu thinkphp

View GitHub Profile
@thinkphp
thinkphp / Interfata.java
Last active April 28, 2025 20:06
Interfata Java
/*
În Java, o interfață este un tip de referință similar cu o clasă, dar care conține doar declarații de metode și constante,
fără implementare. Interfețele sunt folosite pentru a defini un "contract" pe care clasele care o implementează
trebuie să îl respecte.
*/
public class Main {
public static void main(String[] args) {
System.out.println("===== FORME GEOMETRICE =====");
@thinkphp
thinkphp / Exemplu-Iterable.java
Created April 28, 2025 20:02
Interfata Iterable
import java.util.Iterator;
import java.util.NoSuchElementException;
public class ColectiePersonalizata<T> implements Iterable<T> {
// Array pentru stocarea elementelor
private Object[] elemente;
private int dimensiune;
private static final int CAPACITATE_IMPLICITA = 10;
@thinkphp
thinkphp / Exemplu-Iterator.java
Last active April 28, 2025 20:02
Exemplu Interfata Iterator
import java.util.Iterator;
import java.util.NoSuchElementException;
public class Main implements Iterator<Integer> {
private int[] data;
private int index = 0;
public Main(int[] data) {
this.data = data;
}
@thinkphp
thinkphp / iterable-iterator.txt
Last active April 28, 2025 19:56
Diferenta intre Iterable si Iterator
Cele două interfețe au roluri complementare dar distincte în Java:
Interfața Iterable
-------------------
- Este definită în pachetul java.lang
- O clasă care implementează Iterable poate fi folosită direct în bucla for-each (enhanced for loop)
- Are o singură metodă obligatorie: Iterator<T> iterator() care returnează un obiect Iterator
- Este implementată de colecțiile standard din Java (ArrayList, HashSet, etc.)
- Reprezintă o colecție care poate fi parcursă
cartItem.innerHTML = `
<div class="item-info">
<h3 class="item-title">${item.name}</h3>
<div class="item-price">$${item.price.toFixed(2)} each</div>
</div>
<div class="item-controls">
<button class="decrease-quantity" data-id="${item.id}">-</button>
<span class="item-quantity">${item.quantity}</span>
<button class="increase-quantity" data-id="${item.id}">+</button>
<button class="remove-item" data-id="${item.id}" style="margin-left: 10px; background-color: #f44336;">×</button>
@thinkphp
thinkphp / afisare_produse.js
Last active April 18, 2025 13:10
afisare produse
document.querySelectorAll('.add-to-cart-button').forEach(button => {
button.addEventListener('click', addToCart);
});
function afisare_produse() {
for (let i = 0; i < coffeeProducts.length; i++) {
const product = coffeeProducts[i];
const create_product_card = document.createElement("div");
create_product_card.classList.add("product-card");
@thinkphp
thinkphp / WavFile.java
Last active April 17, 2025 18:41
WaveFile VA07 Task
public class WavFile extends SampledFile {
public WaveFile() {
super();
}
public WavFile(String path) {
}
@thinkphp
thinkphp / PlayList.java
Created April 17, 2025 18:06
PlayList Task va08
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.LinkedList;
import java.util.List;
public class PlayList {
@thinkphp
thinkphp / AudioFileFactory.java
Created April 17, 2025 17:23
AudioFileFactory.java
public class AudioFileFactory {
/**
creeaza o instanta AudioFile corespunzatoare in functie de extensia fisierului
@param path Calea catre fisierul audio
@return o instanta AudioFile corespunzatoare
@throws RuntimeException daca extensia fisierului nu este suportata
*/
@thinkphp
thinkphp / transport.java
Created April 17, 2025 17:08
Transportation Factory Design Pattern
//abstract product
abstract class Transport {
protected String cargo;
protected String destination;
public void setCargo(String cargo) {
this.cargo = cargo;
}