CodeGym/Java Blog/āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹/āĻœāĻžāĻ­āĻžāĻ¤ā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ°
John Squirrels
āĻ˛ā§‡āĻ­ā§‡āĻ˛ 41
San Francisco

āĻœāĻžāĻ­āĻžāĻ¤ā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ°

āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻĻāĻ˛ā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤
āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ—āĻŖ
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻŋ ArrayList āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ (āĻ¯āĻĻāĻŋ āĻāĻ–āĻ¨āĻ“ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĒāĻĄāĻŧāĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ‡)āĨ¤ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡, āĻ†āĻŽāĻ°āĻž āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻļāĻŋāĻ–āĻ¤ā§‡ āĻ¯āĻžāĻšā§āĻ›āĻŋ āĻāĻŦāĻ‚ āĻŦā§āĻāĻ¤ā§‡ āĻ¯āĻžāĻšā§āĻ›āĻŋ āĻ¯ā§‡ āĻāĻ‡ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻŸāĻŋ āĻ•ā§€āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ­āĻžāĻ˛āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ LinkedList Java 8 (āĻŦāĻž āĻ­āĻžāĻˇāĻžāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ) āĻ•ā§āĻ˛āĻžāĻ¸ āĻ•ā§‹āĻĄ āĻ¸ā§‹āĻ°ā§āĻ¸ (Oracle āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸā§‡ āĻŦāĻž āĻ†āĻĒāĻ¨āĻžāĻ° IDE-āĻ¤ā§‡, IDEA: āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻ‰āĻĒāĻ° crtl+B āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡) āĻĻā§‡āĻ–ā§‡āĻ¨ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ˜ā§‹āĻˇāĻŖāĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨:
public class LinkedList<E>
   extends AbstractSequentialList<E>
   implements List<E>, Deque<E>, Cloneable, java.io.Serializable
āĻāĻ‡ āĻŽā§āĻšā§‚āĻ°ā§āĻ¤ā§‡ āĻ•ā§‹āĻĄ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻĨā§āĻ¯ āĻšāĻ˛ āĻ¯ā§‡ LinkedList āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻāĻŦāĻ‚ Deque āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡ āĨ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ†āĻ‡āĻŸā§‡āĻŽ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻ°āĻŽ āĻ°āĻžāĻ–ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‚āĻšāĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻ†āĻ‡āĻŸā§‡āĻŽ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤ "āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ" āĻ¸āĻžāĻ°āĻŋ āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻļā§āĻ°ā§ āĻĨā§‡āĻ•ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻˇā§āĻ•āĻžāĻļāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤ Deque āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻŋ-āĻŽā§āĻ–ā§€ āĻ¸āĻžāĻ°āĻŋ, āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ‰āĻ­āĻ¯āĻŧ āĻĻāĻŋāĻ• āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻāĻŦāĻ‚ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻāĻŦāĻ‚ āĻ•āĻŋāĻ‰ āĻāĻ° āĻ¸āĻ‚āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ­āĻžāĻŦāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻœāĻžāĻ­āĻž āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° - 2āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻāĻ‡ āĻĻā§āĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨, āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻ¨āĻžāĻ˛ āĻ¸āĻš āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ¸āĻŽāĻ¨ā§āĻŦāĻ¯āĻŧā§‡ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻŋāĻŽā§āĻ–ā§€ āĻ¸āĻžāĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ¯ā§‹āĻœāĻŋāĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ•ā§‹āĻĄ āĻ‰āĻ¤ā§āĻ¸ā§‡ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ, āĻāĻ‡ āĻ¸āĻŽāĻ¯āĻŧ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ— āĻĻāĻŋāĻ¨:
transient int size = 0;
/**
* Pointer to first node.
*/
transient Node<E> first;
/**
* Pointer to last node.
*/
transient Node<E> last;
āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ•ā§‡ āĻ¨ā§‹āĻĄ āĻŦāĻ˛ā§‡ āĻĨāĻžāĻ•āĻŋ , āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻļā§€ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻĨāĻžāĻ•ā§‡ - āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻŽā§‡āĻŽāĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻŸāĻŋ āĻ–ā§āĻŦ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ¨āĻ¯āĻŧāĨ¤ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻœāĻžāĻ­āĻž āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° - 3āĻ¯ā§‡āĻšā§‡āĻ¤ā§ LinkedList āĻ†āĻ¸āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻŋāĻŽā§āĻ–ā§€ āĻ•āĻžāĻ āĻžāĻŽā§‹, āĻ†āĻŽāĻ°āĻž āĻ¸āĻšāĻœā§‡āĻ‡ āĻ‰āĻ­āĻ¯āĻŧ āĻĻāĻŋāĻ• āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻž āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

LinkedList Constructors

āĻ•ā§‹āĻĄ āĻ‰āĻ¤ā§āĻ¸ā§‡ āĻĢāĻŋāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻ•āĻ¨āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
  • āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ() āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻāĻ•āĻŸāĻŋ āĻ–āĻžāĻ˛āĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤
  • >LinkedList(āĻ¸āĻ‚āĻ—ā§āĻ°āĻš<? extensions E> c) āĻšāĻ˛ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻ•āĻžāĻ°ā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤

āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ˜ā§‹āĻˇāĻŖāĻž

āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡, āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• āĻ•āĻ°āĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž (āĻœāĻžāĻ­āĻž āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ) āĻ¨ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻŽ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ—āĻ āĻŋāĻ¤āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¤āĻžāĻ‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ , āĻœāĻžāĻ­āĻž āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€:
LinkedList<Integer> myList = new LinkedList<>();
āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻļā§€āĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻāĻŦāĻ‚ āĻ˛āĻŋāĻ™ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ°āĻŽ āĻ°āĻžāĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤ āĻ¤āĻŦā§‡ āĻāĻ‡ āĻŽā§āĻšā§‚āĻ°ā§āĻ¤ā§‡ āĻ¤āĻž āĻ–āĻžāĻ˛āĻŋāĨ¤

āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨

āĻ¯āĻĨāĻžāĻ°ā§€āĻ¤āĻŋ, āĻ¸āĻ‚āĻ—ā§āĻ°āĻšā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸā§‡ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ (āĻāĻ° āĻļā§‡āĻˇā§‡ āĻŦāĻž āĻŽāĻžāĻāĻ–āĻžāĻ¨ā§‡), āĻ¸ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§‚āĻšā§€ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ¤āĻžāĻ‡ āĻ¤āĻžāĻ°āĻž āĻāĻ–āĻžāĻ¨ā§‡:
  • add(E element) āĻāĻ‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻļā§‡āĻˇā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡;
  • add(int index, E element) āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻ¸ā§‚āĻšāĻ•ā§‡ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻžāĻ¯āĻŧ ;
  • get(int index) āĻāĻ‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡;
  • remove(int index) āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸ā§‚āĻšāĻ•ā§‡ āĻĨāĻžāĻ•āĻž āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ¯āĻŧ;
  • āĻ°āĻŋāĻŽā§āĻ­ (āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ o) āĻāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ˜āĻŸāĻ¨āĻžāĻŸāĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ¯āĻŧ? āĻāĻ‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĨā§‡āĻ•ā§‡ o āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ†āĻ›ā§‡.
  • remove() āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻœāĻžāĻ­āĻžāĻ¤ā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻ¯ā§āĻ•ā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨, āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻžāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻ†āĻ¸ā§āĻ¨ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡ āĻāĻ‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–āĻŋāĨ¤ āĻĒā§āĻ°āĻĨāĻŽ, āĻœāĻžāĻ­āĻž āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨: āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž, āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ 3āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°āĻžāĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ° āĻŽāĻžāĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨.
public class MyLinkedTest {
   public static void main(String[] args) {
       String h1 = "my";
       String h2 = "favorite";
       String h3 = "book";
//  LinkedList implementation in Java
       LinkedList<String> linkedList = new LinkedList();
       linkedList.add(h1);
       linkedList.add(h2);
       linkedList.add(h3);
       System.out.println("my list after adding 3 elements:");
       System.out.println(linkedList);
       System.out.println("element #2 of my list:");
       System.out.println(linkedList.get(2));
       linkedList.remove(1);
       System.out.println("my list after removing #1:");
       System.out.println(linkedList);
       linkedList.add(1,"first");
       System.out.println("my list after adding an element in the middle");
       System.out.println(linkedList);
   }
āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛:
my list after adding 3 elements:
[my, favorite, book]
element #2 of my list:
book
my list after removing #1:
[my, book]
my list after adding an element in the middle
[my, first, book]
āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻšāĻ˛ āĻ•āĻžāĻ˛ā§‡āĻ•āĻļāĻ¨ āĻĢā§āĻ°ā§‡āĻŽāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ‚āĻļ , āĻ†āĻĒāĻ¨āĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°āĻžāĻ¤ā§‡ āĻ‡āĻŸāĻžāĻ°ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻ•āĻžāĻ°ā§€ — ListIterator āĨ¤ āĻ†āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ, āĻ‡āĻŸāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒāĻ—ā§āĻ˛āĻŋ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ : āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ/āĻŽā§āĻ›ā§āĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ­āĻžāĻ˛ āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸āĨ¤ Iterator āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ• āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻĒāĻ°ā§‡ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡, āĻ†āĻŽāĻ°āĻž ArrayList āĻāĻŦāĻ‚ LinkedList+Iterator āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•ā§‹āĻĄ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ˛āĻŋāĻ–āĻŦ
  • Iterator.remove() āĻāĻ‡ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻ•āĻžāĻ°ā§€āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻž āĻļā§‡āĻˇ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤
  • ListIterator.add(E āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨) āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻžāĻ¯āĻŧ

āĻœāĻžāĻ­āĻž āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ: āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ‡āĻŸāĻžāĻ°ā§‡āĻŸāĻ° āĻ•āĻžāĻœ āĻ•āĻ°ā§‡

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻœāĻžāĻ­āĻž āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ•ā§‹āĻĄ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ‡āĻŸāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¯ā§‹āĻ— āĻāĻŦāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŋāĨ¤
public class MyLinkedTest {
   public static void main(String[] args) {
       String h1 = "my";
       String h2 = "favorite";
       String h3 = "book";
       LinkedList<String> linkedList = new LinkedList();
       linkedList.add(h1);
       linkedList.add(h2);
       linkedList.add(h3);

       Iterator i = linkedList.iterator();
       String str = "";
       while (i.hasNext()) {
           str = (String)i.next();
           if (str.equals("favorite")) {
               i.remove();
               break;
           }
       }

       System.out.println("linkedList after removing element via Iterator:");
       System.out.println(linkedList);
       ListIterator listIterator = linkedList.listIterator();
       listIterator.add("I've got");
       System.out.println("linkedList after adding the element via ListIterator");
       System.out.println(linkedList);

   }
}
āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛:
linkedList after removing element via Iterator:
[my, book]
linkedList after adding the element via ListIterator
[I've got, my, book]
āĻ†āĻ°āĻ“ āĻœāĻžāĻ­āĻž āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨:
  • addFirst() , addLast() āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻļā§āĻ°ā§/āĻļā§‡āĻˇā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨
  • clear() āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ¯āĻŧ
  • contains(Object o) āĻŸā§āĻ°ā§ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ o āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻĨāĻžāĻ•ā§‡āĨ¤
  • indexOf(Object o) o āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻ¸ā§‚āĻšā§€ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡, āĻ…āĻĨāĻŦāĻž -1 āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡āĨ¤
  • set(int index, E element) āĻ¸ā§‚āĻšā§€ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻĨāĻžāĻ•āĻž āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸāĻ•ā§‡ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡
  • size() āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤
  • toArray() āĻĒā§āĻ°āĻĨāĻŽ āĻĨā§‡āĻ•ā§‡ āĻļā§‡āĻˇ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ§āĻžāĻ°āĻŖāĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤
BTW āĻāĻ•āĻŸāĻŋ āĻĻā§āĻŦāĻŋ-āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻ°āĻŋ āĻšāĻ“āĻ¯āĻŧāĻžāĻ¯āĻŧ, āĻœāĻžāĻ­āĻžāĻ¤ā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒāĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:
  • pop() āĻ¯āĻž āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻĒāĻĒ āĻ•āĻ°ā§‡ (āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤)
  • āĻĒā§āĻļ(āĻ‡ āĻ‡) āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ•ā§‡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ•ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ ā§‡āĻ˛ā§‡ āĻĻā§‡āĻ¯āĻŧ (āĻāĻ‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĻā§āĻŦāĻžāĻ°āĻž āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤)

āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸāĻ•ā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨: āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ, āĻāĻ•āĻŸāĻŋ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ, āĻ¤āĻŦā§āĻ“ āĻ¨āĻ¤ā§āĻ¨āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻ•āĻžāĻœā§ˇ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ†āĻ›ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ‰āĻ˛ā§āĻŸāĻžāĻ¨ā§‹ āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ āĻšāĻ˛ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸā§‡āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ āĻ•ā§āĻ°āĻŽā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ•ā§‡ āĻ¨āĻ¤ā§āĻ¨āĻŸāĻŋāĻ¤ā§‡ āĻ°āĻžāĻ–āĻžāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ–ā§āĻāĻœā§‡ āĻĒā§‡āĻ¤ā§‡ āĻšāĻŦā§‡? āĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ āĻ˛āĻŋāĻ™ā§āĻ•āĻ¯ā§āĻ•ā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻœāĻžāĻ­āĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ•ā§‹āĻĄ:
public class MyLinkedTest {
   public static void main(String[] args) {
       String h1 = "my";
       String h2 = "favorite";
       String h3 = "book";
       LinkedList<String> linkedList = new LinkedList();
       linkedList.add(h1);
       linkedList.add(h2);
       linkedList.add(h3);
       System.out.println(linkedList);
       System.out.println("Reversed LinkedList:");
       System.out.println(reverseLinkedList(linkedList));
   }
   public static LinkedList<String> reverseLinkedList(LinkedList<String> list)
   {
       LinkedList<String> LinkedList = new LinkedList<String>();
       for (int i = list.size() - 1; i >= 0; i--) {
           LinkedList.add(list.get(i));
       }
       return LinkedList;
   }
}
āĻĢāĻ˛āĻžāĻĢāĻ˛:
[I've got, my, book]
Reversed LinkedList:
[book, my, I've got]

āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻŦāĻ¨āĻžāĻŽ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ˛āĻŋāĻ¸ā§āĻŸ: āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋ āĻ•āĻ–āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨

āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ˛āĻŋāĻ¸ā§āĻŸ āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĨ¤ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻāĻŸāĻŋāĻ•ā§‡ āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ-āĻ˛āĻŋāĻ™ā§āĻ•āĻ¯ā§āĻ•ā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡āĨ¤ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ˛āĻŋāĻ¸ā§āĻŸ āĻāĻŸāĻŋāĻ•ā§‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻ†āĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻœāĻžāĻ¨ā§‡āĻ¨, āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻļā§€āĻĻā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻœāĻžāĻ­āĻž āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŽā§‡āĻŽāĻ°āĻŋ āĻ–āĻ°āĻš āĨ¤ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ˛āĻŋāĻ¸ā§āĻŸ āĻāĻŸāĻŋāĻ•ā§‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻ†āĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ›ā§ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ˛āĻŋāĻ¸ā§āĻŸ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻāĻ•āĻ‡ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻž āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ˛āĻŋāĻ¸ā§āĻŸā§‡ _āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸā§‡ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§‡āĻŸ āĻ•āĻ°ā§‡āĻ¨ - āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¸āĻšāĨ¤ ArrayList āĻšāĻ˛ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ…āĻŦāĻļā§āĻ¯āĻ‡ ArrayList āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯āĻ–āĻ¨ āĻ¸ā§‚āĻšāĻ• āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻāĻ•āĻŸāĻŋ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻāĻ‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ• āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ—āĻĄāĻŧā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻļā§‡āĻˇā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ“ āĻ§ā§āĻ°ā§āĻŦāĻ• āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŽāĻ¨āĻ•āĻŋ āĻ†āĻ°āĻ“, āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ˛āĻŋāĻ¸ā§āĻŸā§‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻšā§āĻ› āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ–āĻ°āĻš āĻ¨ā§‡āĻ‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻāĻŦāĻ‚ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖā§‡āĻ° āĻ—āĻ¤āĻŋāĻ•ā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻļā§‡āĻˇā§‡ āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯ā§‹āĻœāĻŋāĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ•āĻŋāĻ›ā§ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻāĻŦāĻ‚ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻ°āĻ“ āĻĻāĻ°āĻ•āĻžāĻ°ā§€: āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋāĻ•āĻžāĻ°ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ• āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ˜āĻŸā§‡āĨ¤ āĻ¸ā§‚āĻšā§€ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻļā§‡āĻˇā§‡āĻ° āĻļā§āĻ°ā§ āĻĨā§‡āĻ•ā§‡ (āĻ¯ā§‡āĻŸāĻŋ āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋ) āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°ā§‡ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ–āĻ°āĻš āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ­ā§āĻ˛āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤ āĻ¤āĻžāĻ‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽāĻŋāĻ• āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻ¸āĻš āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ LinkedList āĻāĻŦāĻ‚ ArrayList āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĨ¤ N āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻĨāĻžāĻ•āĻž āĻ†āĻ‡āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦā§‹āĻāĻžāĻ¯āĻŧāĨ¤ O(N) āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ–āĻžāĻ°āĻžāĻĒ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¨āĻž āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°ā§‹ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ "āĻšāĻžāĻāĻŸāĻ¤ā§‡ āĻšāĻŦā§‡", āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻ¨āĻ¤ā§āĻ¨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ O(1)āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻ˛ āĻ¯ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻŸāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ• āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ˜āĻŸā§‡, āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨āĻ­āĻžāĻŦā§‡ āĻ†āĻ‡āĻŸā§‡āĻŽā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ° āĻ‰āĻĒāĻ°āĨ¤

āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ¸āĻŽāĻ¯āĻŧ āĻœāĻŸāĻŋāĻ˛āĻ¤āĻž

āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻœāĻžāĻ­āĻž āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽāĻŋāĻ• āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž
āĻĒā§‡āĻ¤ā§‡ (int āĻ¸ā§‚āĻšāĻ•) O(n) , āĻ—āĻĄāĻŧā§‡ — n/4 āĻ§āĻžāĻĒ, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ n āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸā§‡āĻ° āĻ†āĻ•āĻžāĻ°
āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ (āĻ‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨) O(1)
āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ (int āĻ¸ā§‚āĻšāĻ•, E āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨) O(n) , āĻ—āĻĄāĻŧā§‡ — n/4 āĻ§āĻžāĻĒ; āĻ¯āĻĻāĻŋ index = 0 āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§‡ O(1) , āĻ¤āĻžāĻ‡ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻļā§āĻ°ā§āĻ¤ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ, LinkedList<E> āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻĒāĻ›āĻ¨ā§āĻĻ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ (int āĻ¸ā§‚āĻšāĻ•) O(n) , āĻ—āĻĄāĻŧā§‡ — n/4 āĻ§āĻžāĻĒ
Iterator.remove() O(1) āĻāĻŸāĻŋ LinkedList<E> āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ•āĻžāĻ°āĻŖ

ArrayList āĻ¸āĻŽāĻ¯āĻŧ āĻœāĻŸāĻŋāĻ˛āĻ¤āĻž

āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽāĻŋāĻ• āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž
āĻĒā§‡āĻ¤ā§‡ (int āĻ¸ā§‚āĻšāĻ•) O(1) , ArrayList<E> āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻ¯āĻ¤āĻŽ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ•āĻžāĻ°āĻŖ
āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ (āĻ‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨) O(n) āĻšāĻ˛ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ–āĻžāĻ°āĻžāĻĒ āĻ•ā§‡āĻ¸ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻ†āĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¤āĻŦā§‡, āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§‡, āĻāĻŸāĻŋ āĻāĻ¤āĻŸāĻž āĻ–āĻžāĻ°āĻžāĻĒ āĻ¨āĻ¯āĻŧ
āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ (int āĻ¸ā§‚āĻšāĻ•, E āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨) O(n) , āĻ—āĻĄāĻŧā§‡ n/2 āĻ§āĻžāĻĒ
āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ (int āĻ¸ā§‚āĻšāĻ•) O(n) , āĻ—āĻĄāĻŧā§‡ n/2 āĻ§āĻžāĻĒ
Iterator.remove() O(n) , āĻ—āĻĄāĻŧā§‡ n/2 āĻ§āĻžāĻĒ
ListIterator.add(E āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨) O(n) , āĻ—āĻĄāĻŧā§‡ n/2 āĻ§āĻžāĻĒ

āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ•āĻ–āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨: āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻ…āĻŦāĻļā§āĻ¯āĻ‡, ArrayList āĻšāĻ˛ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻĒā§‚āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯āĻ–āĻ¨ āĻ…ā§āĻ¯āĻžāĻĄ/āĻ°āĻŋāĻŽā§āĻ­ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧāĨ¤ āĻ¸ā§‡āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ˛āĻŋāĻ‚āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻ‡āĻŸāĻžāĻ°ā§‡āĻŸāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ‰āĻĒāĻ•āĻžāĻ°ā§€ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ. āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĻā§€āĻ°ā§āĻ˜ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§‡āĻ¯āĻŧā§‡āĻ›āĻŋ, āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ†āĻ¸ā§āĻ¨ ArrayList āĻāĻŦāĻ‚ LinkedList + Iterator āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻ‡ āĻ•āĻžāĻœāĻŸāĻŋ āĻ•āĻ°āĻŋ āĨ¤ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻāĻŸāĻŋ āĻŽā§āĻĻā§āĻ°āĻŖ āĻ•āĻ°āĻŋāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ•ā§‹āĻĄ:
import java.util.*;
import java.util.function.BiPredicate;

public class ListTest2 {

   static void removeElements(List<Double> list, BiPredicate<Integer, Double> predicate) {
       // start navigation from end to preserve indexes of removed items
       ListIterator<Double> iterator = list.listIterator(list.size());

       while (iterator.hasPrevious()) {
           Double element = iterator.previous();
           if (predicate.test(iterator.previousIndex()+1, element)) {
               iterator.remove();
           }
       }
   }

   static class TestCase1 {
       public static void main(String[] args) {
           LinkedList<Double> testedList1 = new LinkedList<>(Arrays.asList(2.0,9.0,3.0,12.0,5.0));
           removeElements(testedList1, (index, value) -> (value % 3 == 0));
           // should print `[2.0, 5.0]`
           System.out.println("testedList1 after removeElements(..): " + testedList1);

           ArrayList<Double> testedList2 = new ArrayList<>(Arrays.asList(2.0,9.0,3.0,12.0,5.0));
           removeElements(testedList2, (index, value) -> (value % 3 == 0));
           // should print `[2.0, 5.0]`
           System.out.println("testedList2 after removeElements(..): " + testedList2);
       }
   }

   static class TestLinkedListPerformance {
       public static void main(String[] args) {
           LinkedList<Double> testedList = new LinkedList<>();
           System.out.println("start filling testedList");
           for (int i = 0; i < 2 * 1000 * 1000 ; ++i) {
               testedList.add((double)i);
           }

           System.out.println("start treating testedList");
           long startTime = System.nanoTime();
           removeElements(testedList, (index, value) -> (value % 3 == 0));
           long endTime = System.nanoTime();
           // should print `1333333`
           System.out.println("testedList.size after removeElements(..): " + testedList.size());
           // could print `0.1527659`
           System.out.println("removeElements(..) takes (seconds): " + ((double)(endTime - startTime)) / 1000000000);
       }
   }

   static class TestArrayListPerformance {
       public static void main(String[] args) {
           ArrayList<Double> testedList = new ArrayList<>();
           System.out.println("start filling testedList");
           for (int i = 0; i < 2 * 1000 * 1000 ; ++i) {
               testedList.add((double)i);
           }

           System.out.println("start treating testedList");
           long startTime = System.nanoTime();
           removeElements(testedList, (index, value) -> (value % 3 == 0));
           long endTime = System.nanoTime();
           // should print `1333333`
           System.out.println("testedList.size after removeElements(..): " + testedList.size());
           // could print `53.4952635`
           System.out.println("removeElements(..) takes (seconds): " + ((double)(endTime - startTime)) / 1000000000);
       }
   }
}
ArrayList āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻ˛āĻžāĻĢāĻ˛:
start filling testedList
start treating testedList
testedList.size after removeElements(..): 1333333
removeElements(..) takes (seconds): 481.8824414
āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛:
start filling testedList
start treating testedList
testedList.size after removeElements(..): 1333333
removeElements(..) takes (seconds): 0.4586458
āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻšā§āĻ›ā§‡āĻ¨ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ†āĻ°āĻ“ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°āĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻ¸ā§Ž āĻšāĻ¤ā§‡ āĻĻāĻŋāĻ¨. āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ‰āĻ¨ā§āĻ¨āĻ¯āĻŧāĻ¨ā§‡ LinkedList āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ• āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŦāĻŋāĻ°āĻ˛ āĻ˜āĻŸāĻ¨āĻžāĨ¤ āĻ¤āĻŦā§āĻ“, āĻāĻ•āĻœāĻ¨ āĻĒā§‡āĻļāĻžāĻĻāĻžāĻ°ā§‡āĻ° āĻāĻ‡ āĻĄā§‡āĻŸāĻž āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻ…āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦ āĻāĻŦāĻ‚ āĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻœāĻžāĻ¨āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻ•ā§‹āĻĄā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ°āĻ˛ āĻ…āĻ¤āĻŋāĻĨāĻŋ āĻšāĻ¯āĻŧ, āĻœāĻžāĻ­āĻž āĻœā§āĻ¨āĻŋāĻ¯āĻŧāĻ° āĻ¸āĻžāĻ•ā§āĻˇāĻžāĻ¤ā§āĻ•āĻžāĻ°ā§‡ āĻāĻŸāĻŋ āĻ–ā§āĻŦ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧāĨ¤ āĻāĻŦāĻ‚ āĻāĻ–āĻ¨āĻ“, āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻœā§‹āĻļā§āĻ¯āĻŧāĻž āĻŦā§āĻ˛āĻš āĻ¯āĻž āĻ˛āĻŋāĻ–ā§‡āĻ›ā§‡āĻ¨ āĻ¤āĻž āĻāĻ–āĻžāĻ¨ā§‡ : āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻœāĻžāĻ­āĻž āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° - 4

āĻ…ā§āĻ¯āĻžāĻĄāĻ…āĻ¨: āĻāĻ•āĻ•āĻ­āĻžāĻŦā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻ¯ā§āĻ•ā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻœāĻžāĻ­āĻž

āĻœāĻžāĻ­āĻžāĻ¤ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸āĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻ•āĻžāĻ˛ā§‡āĻ•āĻļāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻ¸āĻŋāĻ™ā§āĻ—āĻ˛āĻŋ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄ āĻ˛āĻŋāĻ¸ā§āĻŸ āĻ¨ā§‡āĻ‡ , āĻ¸āĻŋāĻ™ā§āĻ—āĻ˛āĻŋ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄ āĻ˛āĻŋāĻ¸ā§āĻŸ āĻšāĻ˛ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻĨāĻžāĻ•ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻ—ā§‡āĻ°āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻ¯āĻŧāĨ¤ āĻœāĻžāĻ­āĻž āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻĻā§āĻ‡-āĻ˛āĻŋāĻ™ā§āĻ•āĻĄ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•ā§‡āĻ‰ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¸ā§āĻ¤āĻ•ā§āĻˇā§‡āĻĒ āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻ¯ā§‡āĻŽāĻ¨ āĻ¸āĻŋāĻ™ā§āĻ—āĻ˛āĻŋ ,āĻ•ā§‹āĻĄ>āĻ˛āĻŋāĻ™ā§āĻ•āĻĄ āĻ˛āĻŋāĻ¸ā§āĻŸāĨ¤ āĻāĻ‡ āĻ•āĻžāĻœāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋāĻ›ā§ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:
  1. āĻĻā§āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯, āĻĄā§‡āĻŸāĻž āĻāĻŦāĻ‚ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¨ā§‹āĻĄ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸.
  2. āĻĻā§āĻŸāĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯, āĻŽāĻžāĻĨāĻž āĻāĻŦāĻ‚ āĻĒā§āĻšā§āĻ› āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĢāĻžāĻ°ā§āĻ¸ā§āĻŸāĻ˛āĻžāĻ¸ā§āĻŸ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ āĨ¤
  3. āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¨ā§‹āĻĄ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ add() āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻŸāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ–āĻžāĻ˛āĻŋ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§āĻ¨ ( head == null )āĨ¤ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ‡ āĻšāĻ¯āĻŧ, āĻŽāĻžāĻĨāĻž āĻāĻŦāĻ‚ āĻĒā§āĻšā§āĻ› āĻ¨āĻ¤ā§āĻ¨ āĻ¨ā§‹āĻĄ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§āĻ¨. āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻŸāĻŋ āĻ–āĻžāĻ˛āĻŋ āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡, āĻ¨āĻ¤ā§āĻ¨ āĻ¨ā§‹āĻĄāĻŸāĻŋ āĻļā§‡āĻˇā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻŦā§‡, āĻ¤āĻžāĻ‡ āĻŸā§‡āĻ˛ā§‡āĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ¨ā§‹āĻĄāĻ•ā§‡ āĻŦā§‹āĻāĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¨āĻ¤ā§āĻ¨ āĻ¨ā§‹āĻĄāĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ° āĻĒā§āĻšā§āĻ› āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻ¯āĻžāĻ‡āĻšā§‹āĻ• āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ¯āĻŧāĻžāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœā§‡āĻ° āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ˛āĻŋāĻ¸ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻļā§‡āĻ–āĻžāĻ° āĻ¸ā§ŒāĻ­āĻžāĻ—ā§āĻ¯.
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯
  • āĻœāĻ¨āĻĒā§āĻ°āĻŋā§Ÿ
  • āĻ¨āĻ¤ā§āĻ¨
  • āĻĒā§āĻ°āĻžāĻ¨ā§‹
āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§‹āĻŽāĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸āĻžāĻ‡āĻ¨ āĻ‡āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
āĻāĻ‡ āĻĒāĻžāĻ¤āĻžā§Ÿ āĻāĻ–āĻ¨āĻ“ āĻ•ā§‹āĻ¨ā§‹ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻ¨ā§‡āĻ‡